3 回答

TA貢獻1846條經(jīng)驗 獲得超7個贊
實際上,您可以從崩潰轉(zhuǎn)儲中獲得有用的信息,甚至可以從優(yōu)化的編譯中獲得有用的信息(盡管從技術(shù)上來說,這就是所謂的“大麻煩”。)-g
編譯確實更好,是的,甚至您也可以這樣做。當(dāng)發(fā)生轉(zhuǎn)儲的機器是另一個發(fā)行版時。基本上,只有一個警告,所有重要信息都包含在可執(zhí)行文件中,并最終在轉(zhuǎn)儲中。
當(dāng)您將核心文件與可執(zhí)行文件進行匹配時,調(diào)試器將能夠告訴您崩潰發(fā)生的位置并向您顯示堆棧。這本身應(yīng)該會有所幫助。您還應(yīng)該盡可能多地了解它發(fā)生的情況-他們可以可靠地復(fù)制它嗎?如果是這樣,您可以復(fù)制它嗎?
現(xiàn)在,這是一個警告:“一切都存在”的概念被分解的地方是共享對象文件,.so
文件。如果由于這些問題而失敗,那么您將不需要所需的符號表;您可能只能看到.so
它發(fā)生在什么庫中。
有很多關(guān)于調(diào)試的書,但是我想不出我推薦的書。

TA貢獻1853條經(jīng)驗 獲得超9個贊
據(jù)我所知,您無需要求客戶使用-g選項構(gòu)建的二進制文件即可運行。需要的是您應(yīng)該使用-g選項進行構(gòu)建。這樣,您可以加載核心文件,它將顯示整個堆棧跟蹤。我記得幾周前,我創(chuàng)建了帶有構(gòu)建(-g)和沒有-g的核心文件,并且核心的大小是相同的。
添加回答
舉報