Siv cov "ldd" hais kom ua hauv Linux

Lub ldd hais kom ua yuav siv tau los qhia koj cov libraries sib koom ua ke los ntawm txhua qhov kev pab cuam.

Qhov no yog qhov tseem ceeb rau kev ua haujlwm thaum muaj ib qhov kev xeeb tub uas ploj lawm thiab siv tau los sau cov npe thiab cov khoom tsis muaj.

ldd Command Syntax

Qhov no yog qhov zoo syntax thaum siv cov ldd hais kom ua:

ldd [XAIV] ... XEE NPE ...

Ntawm no yog cov ldd hais kom ua cov keyboards uas tau muab tso rau hauv qhov [XAIV] qhov chaw nyob saum toj no:

- pab txhawb qhov kev pab no thiab tawm - luam tawm cov ntaub ntawv tawm thiab tawm tawm -d, - khiav tawm-relocs cov ntaub ntawv xa cov ntaub ntawv -r, -function-relocs cov ntaub ntawv thiab kev khiav haujlwm -u, - muab sau tsis siv ncaj qha dependencies -v, - tiv thaiv txhua yam ntaub ntawv

Yuav Siv Ldd Command Cov Lus Coj Li Cas

Koj siv tau cov lus txib nram qab no kom tau txais xov xwm ntxiv los ntawm cov lus hais ua ldd:

ldd -v / path / to / program / executable

Cov zis qhia tias cov ntaub ntawv qhia raws li cov paths thiab chaw nyob rau cov sib qiv sib koom, zoo li no:

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

Yog tias cov ntaub ntawv SO tsis muaj nyob rau txhua qhov, koj tuaj yeem nrhiav cov tsev qiv ntawv ploj uas siv cov lus qhia nram qab no:

ldd -d kab / rau / kev kawm

Cov zis yog zoo li cov hauv qab no:

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

Tseem ceeb: Tsis txhob khiav lub ldd cov lus txib tiv thaiv ib qho kev pab cuam uas tsis tau tso vim qhov kev txiav txim siab yuav ua rau nws ua. Qhov no yog ib qho kev nyab xeeb uas qhia tau tias tsuas yog qhov ncaj qha thiab tsis yog tag nrho cov tsob ntoo: objdump -p / path / to / program | grep YUAV TSUM .

Yuav Ua Li Cas Nrhiav Txoj Kev Mus Txog Daim Ntawv Thov

Koj yuav tsum muab tag nrho txoj hauv kev rau npe yog tias koj xav nrhiav nws cov kev pab cuam nrog ldd, uas koj tuaj yeem ua ntau txoj kev.

Piv txwv, qhov no yog li cas koj yuav pom txoj kev mus rau Firefox :

nrhiav / lub npe firefox

Qhov teeb meem nrog cov lus txib nrhiav , tab sis, yog tias nws yuav tsis tsuas sau cov executable, tiam sis qhov twg Firefox nyob, zoo li no:

Qhov kev qhia no yog me ntsis ntawm kev ua haujlwm thiab koj yuav tsum siv qhov kev txiav txim sudo kom txhawb nqa koj cov cai, yog tias koj muaj feem ntau tau txais kev tso cai ntau ntau.

Nws 's yooj yim dua yooj yim mus siv qhov uas txib command kom nrhiav tau ib daim ntawv thov kev:

qhov twg firefox

Lub sij hawm no cov zis yuav zoo li no:

/ usr / bin / firefox

/ etc / firefox

/ usr / lib / firefox

Txhua yam koj yuav tsum tau ua tam sim no kom paub cov sib qiv sib qiv rau Firefox yog ua raws li cov lus qhia nram no:

ldd / usr / rau hauv / firefox

Qhov tso zis los ntawm qhov hais kom ua yuav yog ib yam zoo li no:

linux-vdso.so.1 (0x00007ffff8383000)
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)

Lub linux-vdso.so.1 yog lub npe ntawm lub tsev qiv ntawv thiab tus xov tooj neeg khab yog qhov chaw nyob uas lub tsev qiv ntawv yuav tsum muab los ua cim xeeb.

Koj mam li pom ntau ntawm cov kab uas qhov => cim ntawd yog taug qab los ntawm ib txoj kev. Qhov no yog txoj kev rau lub cev binary; lub hex tus xov tooj yog qhov chaw nyob uas lub tsev qiv ntawv yuav muab tso rau.