Re: [問題] make debug的工具
※ 引述《FFz (澎湖.仙人掌.234)》之銘言:
: : 如果是失敗的話,錯誤訊息就會出現在最後幾行輸出訊息,
: 還有,在最後幾行都會有
: 我舉例,底下兩個都是在最後輸出的錯誤
: ex1
: configure: error: no termcap library found
^^^^^^^^^^^^^^^^^^
: make[1]: *** [configure-gdb] Error 1
: make[1]: Leaving directory `/root/build_gdb'
: make: *** [all] Error 2
: ex2
: make[3]: *** [install-common] Error 1
: make[3]: Leaving directory `/root/build_gdb/sim/arm'
: make[2]: *** [install] Error 1
: make[2]: Leaving directory `/root/build_gdb/sim'
: make[1]: *** [install-sim] Error 2
: make[1]: Leaving directory `/root/build_gdb'
: make: *** [install] Error 2
第二個範例的錯誤訊息沒有擷取到重點.
上面的訊息只說有錯誤,可是卻無法從中看出make是在做什麼動作出錯的.
應該還有更多關鍵的錯誤訊息在更前面幾行.
: 像是有些錯誤是因為此package又安裝了其他相依的package
: 照成了遞迴錯誤
: 那我要怎麼看出說這個錯誤是發生在哪呢
你可以試著從error訊息找找看是哪個package出錯.
: : 找找看是什麼原因造成『error, file not found, ...』之類的錯誤。
: 我最近安裝toolchain遇過的錯誤大多都是
: include不到檔案
: 而造成,裡頭的程式,抓不到某個型而出現錯誤
把錯誤訊息貼出來吧,看看有沒有人會解決.
再不然把關鍵的錯誤訊息上google找,這招雖然較辛苦但是很有效.
再不然有時後try到一定程度try不出來,
就應該停下來不要再try了,而是多讀一些書籍,
過了幾個月也許你就能解決了.有時後基本功打得好,遇到什麼問題迎刃就解.
: 那,能不能講一下,還有哪些錯誤呢,除了include error
還有link時後的錯誤,就是make呼叫ld指令.
例如"undefined reference",可能是你少裝了某個函式庫.
tarball的程式編多了就會慢慢累積經驗.
: : 如果有warnning訊息,有時可以忽略,
: 例如呢,可以麻煩您舉個例嗎,這樣的訊息是輸出怎樣的格式呢
老實說我的經驗中,從網路上抓來的許多軟體,就算編譯時出現warnning,
只要沒有error,都可以正常使用.
所以我都忽略warnning訊息,所以我對warnning的類型也不是很清楚.
: : 除非一直找不出錯誤在哪,問題就可能出在warnning上。
: : 如果你只想擷取configure或make的錯誤或警告訊息,
: : 只要把輸出到stdout的訊息導向到/dev/null就可以了。
: : 一般,error與warnning訊息會輸出到stderr。
: : 例如:
: : ./configure >/dev/null
: : make >/dev/null
: : 如果不必要的資訊還是太多,再用文字處理軟體擷取你要的資訊,
: : 例如sed, awk, grep, ...。
: : 這是我一般在編譯tarball程式的作法。
--
Albert Einstein :
If there is any religion that could cope with modern scientific needs it
would be Buddhism.
《金剛經》一切有為法 如夢幻泡影 如露亦如電 應作如是觀
http://web.cc.ncu.edu.tw/~93501025/jg.doc
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.200.121
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 8 之 9 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章