valgrind“杀死”的消息

时间:2012-06-07 19:19:56

标签: c++ memory-management valgrind

我正在运行一个失败并带有中止陷阱的程序(错误代码12)。为了调试错误,我正在运行valgrind,但是每次运行它时,valgrind本身都会被“Killed”消息崩溃而没有其他内容(结束消息堆摘要等没有显示)。我无法在google或SO上找到任何关于此的内容,我希望有人可以了解导致此错误的原因以及如何调试它。

感谢任何帮助!

2 个答案:

答案 0 :(得分:6)

我认为你的进程可能会被内核的Out Of Memory系统杀死 - 当系统耗尽内存时会以一种无法捕获的方式杀死进程,这就是valgrind退出而没有说什么的原因

据推测,你的程序使用大量内存,当在valgrind下运行时,需要额外的内存来跟踪内存的定义,没有足够的可用内存,并且(无疑是非常大的)valgrind进程被杀死了。 / p>

如果我是对的那么你将需要一台具有更多内存或至少更多交换的机器,以便能够在valgrind下运行你的程序。

答案 1 :(得分:0)

如果您的计算机使用非标准内存分配,例如使用具有自己的物理内存的协处理器(GPU,FPGA),也会在处理器的内存空间中访问,也会发生这种情况。

在我们的案例中,供应商必须修复他们的框架以使用valgrind。