nm可列出.o .a .so中的符號信息,包括諸如符號的值,符號類型及符號名稱等。所謂符號,通常指定義出的函數(shù),全局變量等等。
我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、銅仁ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的銅仁網(wǎng)站制作公司
查看靜態(tài)庫:ar -tv test.a 解壓靜態(tài)庫:ar -x test.a 查看程序依賴的動態(tài)庫:readelf -a xxx|grep library 如:可以看到,下面的交叉程序hello執(zhí)行依賴于如下兩個動態(tài)庫。
在dlopen()函數(shù)以指定模式打開指定的動態(tài)鏈接庫文件,并返回一個句柄給dlsym()的調(diào)用進程。使用dlclose()來卸載打開的庫。
一般在Linux系統(tǒng)中的/usr/src/linux*.*.*(*.*.*代表的是內(nèi)核版本,如23)目錄下就是內(nèi)核源代碼(如果沒有類似目錄,是因為還沒安裝內(nèi)核代碼)。另外還可從互連網(wǎng)上免費下載。
Linux的內(nèi)核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統(tǒng)下,/usr/src/linux目錄下的東西就是內(nèi)核源代碼。
gcc 源文件名 -o 目標(biāo)文件名 -Wall Eg:gcc c -o demo -Wall 運行 ./demo 就能看到打印了。
核心源程序的文件按樹形結(jié)構(gòu)進行組織,在源程序樹的最上層,即目錄/usr/src/linux下有這樣一些目錄和文件:● COPYING: GPL版權(quán)申明。
頭文件在/usr/include/sys/time.h 如果要看定義,下載glibc的源代碼。
linux中查看庫函數(shù)源代碼,需要自己手動下載一個gnu libc源代碼庫。然后在里面查,可以使用vim建立個ctags,然后及時定位到相應(yīng)的函數(shù)即可。
那么編譯后的地址就會有差異。那么簡單地直接通過地址就可能找不到原來的位置,這個就可能需要回調(diào)里頭的函數(shù)名信息。先通過函數(shù)名定位到所在函數(shù),然后通過偏移定位到代碼行。
首先,連接相應(yīng)linux主機,進入到linux命令行狀態(tài)下,等待輸入shell指令。在linux命令行下輸入shell指令:cat /var/log/messages。鍵盤按“回車鍵”運行shell指令,這時就看到系統(tǒng)日志被打印了出來。
通常套路是 Ctrl + Alt +F7 (F8) 切換到某個 tty,然后用 root 登陸,執(zhí)行 top 查看吃資源最多的程序,然后使用 pkill/kill/killall 等命令殺死該程序。
可能是因為軟件不兼容當(dāng)前的系統(tǒng)版本,這點和電腦很相似,比如有些程序,在windows XP下可以正常使用,但在win7中就不能使用。這種情況需要等待該軟件的升級。
分享名稱:linux查看函數(shù)命令 linux常用命令查看
分享路徑:http://chinadenli.net/article27/depeocj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、ChatGPT、網(wǎng)站營銷、定制開發(fā)、做網(wǎng)站、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)