Te whakamahi i te "Ldd" whakahau i roto i te Linux

Ka taea te whakamahi i te whakahau rorohiko hei whakaatu ki a koe nga whare pukapuka e hiahiatia ana e tetahi papatono kua hoatu.

He mea whai hua tenei mo te mahi i te wa e ngaro ana te manawanui, ka taea te whakamahi hei whakariterite i nga mahi me nga taonga e ngaro ana.

Ldd Tautuhinga Whakaaetanga

Koinei te raupapa tika mo te whakamahi i te whakahau ldd:

ldd [OPTION] ... KI ...

Anei nga panuku ka taea te whakauru i te mahinga rorohiko e taea te whakauru ki roto i te [OPTION] wahi i te whakahau i runga:

--help te tautuhi i tenei awhina me te puta - te whakaputa tuhinga whakaputa putanga me te puta -d, - te tango i nga raraunga raraunga tukatuka -r, - te tukatuka i nga raraunga tukatuka me nga mahi relocations -u, - te whakamahi i nga tuuturu tika -v, --verbose tuhia nga korero katoa

Me pehea te Whakamahia te Whakaaetanga Whakaaetanga

Ka taea e koe te whakamahi i te whakahau e whai ake nei kia whiwhi atu ai i nga korero mai i tetahi whakahau a-ringa:

ldd -v / ara / ki / papatono / mahi

Ko te whakaaturanga e whakaatu ana i nga korero putanga me nga huarahi, me nga korero ki nga whare pukapuka whaimana, penei:

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

Mena kaore te kōnae SO i te tīariari, ka kitea e koe nga whare pukapuka ngaro e whakamahi ana i te whakahau e whai ake nei:

ldd -d ara / ki / papatono

He rite te putanga ki nga mea e whai ake nei:

linux-vdso.so.1 (0x00007ffc2936b000) /home/gary/demo/garylib.so => ​​not foundlibc.so.6 => usr / lib / libc.so.6 (0x00007fd0c6259000) / lib64 / ld-linux-x86 -64.so.2 (0x00007fd0c65fd000)

He mea nui: Kaua e whakahaere i te whakahau a-ture mo tetahi papatono kaore e tika ana mai i te whakahau kia tino mahia. He ahua pai ake tenei e whakaatu ana i nga ti'aturi tika kaore i te rakau tipu katoa: objdump -p / path / to / program | Tuhinga ka whai mai .

Me pehea te kimi i te ara ki te tono

Me whakarato i te huarahi katoa ki tetahi tono ki te hiahia koe ki te kimi i ona hononga ki te rdd, e taea ana e koe te maha o nga huarahi.

Hei tauira, koinei te huarahi ka kitea e koe te huarahi ki a Firefox :

kitea / -name firefox

Ko te raruraru ki te tono rapu , ko te mea kaore e whakariterite noa i te waahanga engari i nga wahi katoa kei reira a Firefox, penei:

Ko tenei huarahi ko tetahi o nga mea kaore e taea te whakamahi i te whakahau sudo ki te whakanui ake i ou painga, mehemea pea kaore pea i whakaaetia he hapa.

Ko te mea tino pai ake te whakamahi i te tono i reira hei rapu i te huarahi o te tono:

kei hea firefox

I tenei waa ka penei te putanga:

/ usr / bin / firefox

/ etc / firefox

/ usr / lib / firefox

Ko nga mea katoa kei a koe inaianei ki te kimi i nga whare pukapuka whaitake mo Firefox ka tautuhi i te whakahau e whai ake nei:

ldd / usr / bin / firefox

Ko te putanga mai i te whakahau he mea penei:

linux-vdso.so.1 (0x00007ffff8364000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007feb9917a000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007feb98f76000)
libstdc ++. pera.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)

Ko te Linux-vdso.so.1 te ingoa o te wharepukapuka me te tau hex hei tauera kei reira ka utaina te wharepukapuka ki te mahara.

Ka kite koe i te maha o era atu rarangi kei te aru i te tohu => he ara. Koinei te huarahi ki te taha piripiri tinana; Ko te nama hex ko te wahitau kei te utaina te wharepukapuka.