Daxuyaniyê li Linux-Bikaranîna "Ldd" Bikaranîna bikar bînin

Fermana ldd dikare bikar bînin ku hûn pirtûkxaneyên hevpar ên ku ji hêla bernameyek pêdivî ye.

Ev ji bo ku karûbarê winda ye û karanîna kar û karên wendakirinê tê bikaranîn karekî kar dike.

Fermandariya Syntaxê

Dema ku emrê kirdariyê bi kar tîne:

Ldd [OPTION] ... FILE ...

Li vir veguherînên lordê yên belaş hene ku dikarin di nav fermana jorîn de [OPTION] cih binavêtin:

--help ev alîkar û derveyî çap bike --version print version information and exit -d, --data-relocs process data relocations -r, --function-relocs process data and function relocations -u, - unused print unused direct dependencies -v, - hemî agahdariyê çap bikin

Çawa Desthilatdariya Ldd bikar bînin

Hûn dikarin ji fermana jêrîn bikar bînin ku bêtir agahî ji ji fermana belgeyê bigirin:

ldd -v / path / to / bernameya / executable

Hilberîna agahdariya edebî û rêgez û navnîşan ji bo pirtûkxaneyên hevparkirî nîşan dide, mîna vê yekê:

libddared.so linux-vdso.so.1 => (0x00007fff26ac8000) libc.so.6 => /lib/libc.so.6 0x00007ff1df55a000) /lib64/ld-linux-x86-64.so.2 (0x00007ff1dfafe000)

Heke pelê SO SO ne, hûn dikarin pirtûkxaneyên winda yên ku bi karanîna jêrîn bikar bînin bibînin:

ldd -d path / to / program

Hilberîna jêrîn e:

linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => ​​nehat dîtin foundbibc.so.6 => usr / lib / libc.c..6 (0x00007fd0c6259000) / lib64 / ld-linux-x86 -64.so.2 (0x00007fd0c65fd000)

Girîng: Biryara lddê li dijî bernameya bêtewletî bistîne ji ber ku emrê rast dibe ku ew bi rastî dest pê dike. Ew alternatîfek ewleh e ku ne tenê girêdanên rasterast û ne tenê daristana tevahengiyê nîşan dide : objdump -p / path / to / program | grep NEEDED .

Çawa çawa Pathê Bi Serdanek bibînin

Divê hûn bi rêbazek tevahî berbelav bikin ku eger hûn dixwazin girêdanên xwe bi ldd, ku hûn dikarin çend awayan bikin.

Ji bo nimûne, hûn çawa rêberê Firefoxê bibînin :

firefox / find-find

Pirsgirêka bi fermana lêgerînê , ew e ku tenê ne tenê rêveberê lîsteyê lê lîsteyê dike lê her her cihê ku Firefox di nav vê de ye:

Ev nêzîkek hinekî bêkêş e û hûn hewce ne ku hûn biryara sûdo bikar bînin ku îmkanên xwe bigirin, din jî hûn dikarin bibin ku gelek derfetê destûra çewtiyê red dikin.

Ji bila ku hêsanî ku karûbarê rêberê bernameya dîtina hêsan e hêsan e!

li firotanê

Vê demê ev hilber dikare vî rengî bibînin:

/ usr / bin / firefox

/ etc / firefox

/ usr / lib / firefox

Hûn divê hûn niha bikin ku pirtûkxaneyên hevpar yên ji bo Firefox ji hev re peyda dike:

ldd / usr / bin / firefox

Hilberîna ji fermana wê tiştek tiştek be:

linux-vdso.so.1 (0x00007ffff8364000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007feb9917a000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007feb98f76000)
libstdc ++. so.6 => /usr/lib/libstdc++.so.6 (0x00007feb98bf4000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007feb988f6000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007feb986e0000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007feb9833c000)
/lib64/ld-linux-x86-64.so.2 (0x00007feb99397000)

Linux-vdso.so.1 Navê navê kitêbxaneyê ye û hejmar hex e ku navnîşa ku pirtûka wê dê di bîranînê de tête barkirin.

Hûn li ser gelek rêzên din ên ku => sembol bi rê ve tê pey kirin. Ev rêyek ji bo binaryek fîzîkî ye; Hejmara navnîşê hexê ye ku derê tête pirtûkxaneyê.