C++應用程序/ linux的調試文件一直是我的一個謎,缺乏一些基本的理解。 (1)我們是否需要用-g標誌編譯應用程序,而不用核心文件就不能提供任何有用的信息?但是我發現,即使我們不用-g標誌編譯,也會生成核心文件 - 所以除了佔用磁盤空間外,它們還必須具有某種功能。有關調試核心文件的一些基本問題C++/linux?
Wikipedia說:「在計算中,核心轉儲,內存轉儲或存儲轉儲由計算機程序在特定時間的工作內存的記錄狀態組成,通常當程序異常終止時(崩潰)」 。
這應該表示不管我們用-g標誌編譯,我們仍然有狀態。如果我們有堆棧跟蹤,我們仍然應該能夠知道哪個函數導致了錯誤。
這取決於。如果您還沒有剝離可執行文件,公共符號(那些在C++中具有外部鏈接的符號)仍然可用。 –