問題:我想知道當我呼叫乙個特定的可執行檔案在執行時載入了哪些共享庫。是否有方法可以明確linux上可執行程式或執行程序的共享庫依賴關係?
檢視可執行程式的共享庫依賴關係
要找出某個特定可執行依賴的庫,可以使用ldd命令。這個命令呼叫動態鏈結器去找到程式的庫檔案依賴關係。
注意!並不推薦為任何不可信的第三方可執行程式執行ldd,因為某些版本的ldd可能會直接呼叫可執行程式來明確其庫檔案依賴關係,這樣可能不安全。
取而代之的是用乙個更安全的方式來顯示乙個未知應用程式二進位制檔案的庫檔案依賴,使用如下命令:
檢視執行程序的共享庫依賴關係
如果你想要找出被乙個執行中的程序載入的共享庫,你可以使用pldd命令,它會顯示出在執行時被載入乙個程序裡的所有共享物件。
$ sudo pldd
<
pid>
注意你需要root許可權去執行pldd命令。
或者,也可以選擇乙個叫做pmap的命令列工具。它報告乙個程序的記憶體對映,也能顯示出執行程序的庫檔案依賴。
$ sudo pmap
<
pid>
via:
譯者:kayguowhu 校對:wxy
本文由 lctt 原創翻譯,linux中國 榮譽推出
本文永久更新鏈結位址:
建立linux可執行程式
1.在vendor rockchip目錄下建立工程目錄loopread 2.目錄結構如下 loopread.mk sepolicy file contexts loopread.te src android.mk etc init.loopread.rc loopread.c3.下面逐步解讀工程檔案...
Linux 呼叫可執行程式
3.使用execl 常用方法 二 system函式 在c c 程式中,經常需要呼叫其它的程式來先成某項任務,例如其它的c c 程式 作業系統命令或shell指令碼,c c 提供了exec函式族和system函式來實現這個功能。exec函式族提供了乙個在程序中啟動另乙個程式執行的方法。它可以根據指定的...
gdb除錯linux可執行程式
gdb除錯程式例子 root localhost cswapserver dist gdb cswapserver gnu gdb gdb red hat enterprise linux 7.2 83.el6 license gplv3 gnu gpl version 3 or later thi...