簡體   English   中英

在展開堆棧之前獲取回溯

[英]get the backtrace before unwinding the stack

我的進程沒有在調試器上運行,而是在發生崩潰時生成一個核心文件。 更新:崩潰是由於異常而發生的。 從 throw() 開始,即使在 main() 范圍內也未處理。

當我附加它並在調試器中運行它時,它確實會正確生成回溯,但在核心文件中卻沒有。

問題可能是操作系統在傳遞控制以終止之前展開堆棧,因此當終止生成 SIGABT 時,它沒有關於前一個堆棧的此類信息。

我因為壓力內存測試而崩潰,所以我無法在 gdb 下運行它。

該怎么辦 ? 任何走動

問題可能是操作系統在傳遞控制以終止之前展開堆棧

Linux 操作系統沒有這樣的事情。

您沒有提供相關詳細信息,但核心轉儲中“壞”堆棧跟蹤的兩個最常見原因是:

  1. 用完ulimit -c並獲得截斷的核心轉儲,或
  2. 嘗試使用與用於生成core系統庫不同的系統庫來分析core 如果您在不同的機器上生成和分析core ,或者如果您在兩者之間升級了系統庫,就會發生這種情況。

暫無
暫無

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

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