簡體   English   中英

如何包含GDB調試符號“中斷軟件包”?

[英]How can including GDB debugging symbols 'break packages'?

當我在Gentoo上構建軟件包時。 我收到此警告,即“ -ggdb3”標志可能會“破壞軟件包”。

我還沒有找到何時成立的實例。 盡管我曾經發現一些代碼在不同的優化設置下無法使用,但這與包括調試符號不同。

有人可以提供一個示例代碼,這些示例代碼可以在不調試符號的情況下進行編譯,並且無法對其進行編譯(或在運行時以其他方式出錯)嗎?

由於從未包含調試符號,因此我從未發生過一次測試失敗(或者更少的是,程序包中斷)。 在處理PPC時,我只被優化錯誤咬住了。

但是,您必須考慮要構建的內容。 如果要將可執行文件復制到類似initrd的文件中,則通常希望將其剝離(或在不使用調試符號的情況下進行編譯),尤其是在靜態鏈接的情況下。

在“舊時代”中,我從Scratch系統構建了整個Linux,並為每個二進制文件進行調試。 當然,安裝量要大得多,內存使用情況也不盡人意,但是無論是在編譯還是在后續執行中,我都沒有任何問題。

很難證明是否定的,而且不能通過軼事來證明,但是將其作為第二台台式機/玩具服務器運行一年會導致我得出結論,這確實不是問題。

我認為您得到的標志是如果您設置未測試或未真正安裝的USE標志,則軟件包將在Gentoo中給出的標准警告。 只要您知道該標志是什么— —在這種情況下,您似乎—-並且您沒有將其放置在任何“關鍵任務”設置中(即,如果出現問題,將受到指責)似乎是安全的忽略這些警告。

有時,當您打開調試符號時,它實際上會更改編譯器生成的代碼,在這種情況下,總有可能從“正確的代碼”變為“錯誤的代碼”。

我不知道“ -ggdb3”會啟用哪些特定更改,但是也許這是您所要注意的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM