2012-05-05 88 views
-1

有時候,當我有一個包含大量堆棧變量(比如struct mystruct m [1000])的C函數時,只有在使用gdb進行調試時,程序在進入此函數時纔會崩潰只有在跟蹤時程序崩潰

你能解釋一下那裏發生了什麼?對不起,如果這不是一個「真正的」問題,但我想我可以從答案中學習。

+6

您可能非常接近最大堆棧大小,GDB會將infor插入到堆棧中以幫助調試...無論如何,這將是我的猜測... – Goz

+0

Heisenbug也可能由第42行中的未初始化變量產生。 – wildplasser

+0

你確定它在入口*上崩潰嗎?如果將1000更改爲更低的值,會發生什麼情況? –

回答

1

你可以檢查ulimit -s。 你可以在這裏發佈你的程序,以便我們可以看到你在這個函數中做什麼。

相關問題