顯示關(guān)于對(duì)象文件、可執(zhí)行文件以及對(duì)象文件庫(kù)里的符號(hào)信息。
nm [ -A ] [ -C ] [ -X {32|64|32_64}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [ -v ] [ -B | -P ] [ -e | -g | -u ] [ -d | -o | -x | -t Format ] File ...
nm 命令顯示關(guān)于指定 File 中符號(hào)的信息,文件可以是對(duì)象文件、可執(zhí)行文件或?qū)ο笪募?kù)。如果文件沒(méi)有包含符號(hào)信息,nm 命令報(bào)告該情況,但不把它解釋為出錯(cuò)條件。 nm 命令缺省情況下報(bào)告十進(jìn)制符號(hào)表示法下的數(shù)字值。
nm 命令把以下符號(hào)信息寫入標(biāo)準(zhǔn)輸出:庫(kù)或?qū)ο竺?如果您指定了 -A 選項(xiàng),則 nm 命令只報(bào)告與該文件有關(guān)的或者庫(kù)或者對(duì)象名。
nm 命令使用以下符號(hào)(用同樣的字符表示弱符號(hào)作為全局符號(hào))之一來(lái)表示文件符號(hào)類型:
符號(hào)名稱 符號(hào)類型| A | Global absolute 符號(hào)。 | 
| a | Local absolute 符號(hào)。 | 
| B | Global bss 符號(hào)。 | 
| b | Local bss 符號(hào)。 | 
| D | Global data 符號(hào)。 | 
| d | Local data 符號(hào)。 | 
| f | 源文件名稱符號(hào)。 | 
| T | Global text 符號(hào)。 | 
| t | Local text 符號(hào)。 | 
| U | 未定義符號(hào)。 | 
如果可應(yīng)用,nm 命令報(bào)告與符號(hào)有關(guān)的大小。
| -A | 每行或者顯示全路徑名稱或者顯示對(duì)象庫(kù)名。 | 
| -B | 在 Berkeley 軟件分發(fā)(BSD)格式中顯示輸出: 值 類型 名稱 | 
| -C | 限制解碼(demangle) C++ 名稱。缺省是解碼所有 C++ 符號(hào)名。 注:C++ 對(duì)象文件中的符號(hào)在被使用前它們的名稱已經(jīng)被解碼了。 | 
| -d | 用十進(jìn)制顯示符號(hào)的值和大小。這是缺省的。 | 
| -e | 只顯示靜態(tài)的和外部的(全局)符號(hào)。 | 
| -f | 顯示完整的輸出,包括冗余的 .text、 .data 以及 .bss 符號(hào),這些在通常都是被限制的。 | 
| -g | 只顯示外部的(全局)符號(hào)。 | 
| -h | 限制輸出頭數(shù)據(jù)的顯示。 | 
| -l | 通過(guò)給 WEAK 符號(hào)的編碼鍵附加一個(gè) * 來(lái)區(qū)分 WEAK 和 GLOBAL 符號(hào)。如果和 -P 選項(xiàng)一起使用, WEAK 符號(hào)的符號(hào)類型顯示如下: V Weak Data 符號(hào) W Weak Text 符號(hào) w Weak 未定義符號(hào) Z Weak bss 符號(hào) | 
| -o | 用八進(jìn)制而不是十進(jìn)制數(shù)來(lái)顯示符號(hào)的值和大小。 | 
| -P | 以標(biāo)準(zhǔn)可移植輸出格式顯示信息: 庫(kù)/對(duì)象名 名稱 類型 值 大小 | 
| -p | 不排序。輸出按符號(hào)表順序打印。 | 
| -r | 倒序排序。 | 
| -T | 把可能會(huì)溢出它的列的每個(gè)名字截短,使顯示的名字的最后一個(gè)字符是星號(hào)(*)。缺省情況下,nm 顯示列出的符號(hào)的全名,并且一個(gè)比為其設(shè)置的列的寬度長(zhǎng)的名稱會(huì)引起名稱后的每個(gè)列無(wú)法對(duì)齊。 | 
| -t Format | 顯示指定格式下的數(shù)字值,其中 Format 參數(shù)是以下符號(hào)表示法之一: d十進(jìn)制符號(hào)表示法。這是 nm 命令的缺省格式。 o八進(jìn)制符號(hào)表示法。 x十六進(jìn)制符號(hào)表示法。 | 
| -u | 只顯示未定義符號(hào)。 | 
| -v | 按值而不是按字母表順序排序輸出。 | 
| -x | 用十六進(jìn)制而不是十進(jìn)制數(shù)來(lái)顯示符號(hào)的值和大小。 | 
| -X mode | 指定 nm 應(yīng)該檢查的對(duì)象文件的類型。 mode 必須是下列之一: 32 只處理 32 位對(duì)象文件 64 只處理 64 位對(duì)象文件 32_64 處理 32 位和 64 位對(duì)象文件 缺省是處理 32 位對(duì)象文件(忽略 64 位對(duì)象)。 mode 也可以 OBJECT_MODE 環(huán)境變量來(lái)設(shè)置。例如,OBJECT_MODE=64 使 nm 處理任何 64 位對(duì)象并且忽略 32 位對(duì)象。 -X 標(biāo)志覆蓋 OBJECT_MODE 變量。 | 
該命令返回下列出口值:
| 0 | 成功完成。 | 
| >0 | 發(fā)生錯(cuò)誤。 | 
nm -e a.out以十六進(jìn)制顯示符號(hào)大小和值并且按值排序符號(hào),請(qǐng)輸入:nm -xv a.out顯示 libc.a 中所有 64 位對(duì)象符號(hào),忽略所有 32 位對(duì)象:nm -X64 /usr/lib/libc.a文件
| /usr/ccs/bin/nm | 包含 nm 命令。 | 
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注