-1
有时候,当我有一个包含大量堆栈变量(比如struct mystruct m [1000])的C函数时,只有在使用gdb进行调试时,程序在进入此函数时才会崩溃。只有在跟踪时程序崩溃
你能解释一下那里发生了什么?对不起,如果这不是一个“真正的”问题,但我想我可以从答案中学习。
有时候,当我有一个包含大量堆栈变量(比如struct mystruct m [1000])的C函数时,只有在使用gdb进行调试时,程序在进入此函数时才会崩溃。只有在跟踪时程序崩溃
你能解释一下那里发生了什么?对不起,如果这不是一个“真正的”问题,但我想我可以从答案中学习。
你可以检查ulimit -s。 你可以在这里发布你的程序,以便我们可以看到你在这个函数中做什么。
您可能非常接近最大堆栈大小,GDB会将infor插入到堆栈中以帮助调试...无论如何,这将是我的猜测... – Goz
Heisenbug也可能由第42行中的未初始化变量产生。 – wildplasser
你确定它在入口*上崩溃吗?如果将1000更改为更低的值,会发生什么情况? –