[問題] 請問能不能查詢link時連到哪個檔案

看板LinuxDev作者 (jianiau)時間10年前 (2014/08/19 23:56), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/3 (看更多)
各位好 我在編譯一個給tcl 用的extension 遇到getopt 這個function的問題 再多次呼叫getopt後 snmp_set -v1 -cpublic 10.10.160.10 \ docsIf3CmtsSignalQualityExtExpectedRxSignalPower.5000092 i -50 最後一個參數 "-50" 會被當成是一個參數,出現錯誤訊息 invalid option -- '5' 試過幾個方法 1. 第二次使用getopt時 設定optind = 0 這樣反而過了 2. 由於1.的方式很怪,所以在getopt.c裡加了一堆printf想看哪邊出錯 但是執行後完全沒東西輸出,似乎不是連結到我改的那一隻程式 用readelf -s 讀檔會顯示 435: 000000000003bce0 711 FUNC GLOBAL DEFAULT 11 getopt 如果編譯時刻意排除getopt.o則結果是 109: 0000000000000000 0 FUNC GLOBAL DEFAULT UND getopt@GLIBC_2.2.5 (2) 3.由於2.的結果我懷疑是我編譯參數不對,最後直接把getopt另取名子都改成mgetopt 用同樣的檔案和參數重新編譯,這次就真的是呼叫我改過的mgetopt,而且初始化時 optind=1 可以得到期望值 這時readelf -s 的結果是 108: 0000000000000000 0 FUNC GLOBAL DEFAULT UND getopt@GLIBC_2.2.5 (2) 1058: 000000000003bd30 711 FUNC GLOBAL DEFAULT 11 mgetopt 請問有肥有方法可以看出我到底連結到哪裡去了,或是有其他方式可以debug 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.248.25 ※ 文章網址: http://www.ptt.cc/bbs/LinuxDev/M.1408463761.A.AFA.html

10/10 15:50, , 1F
LL
10/10 15:50, 1F
文章代碼(AID): #1JytEHhw (LinuxDev)
文章代碼(AID): #1JytEHhw (LinuxDev)