我正在运行的程序失败并出现中止陷阱(错误代码 12)。为了调试错误,我正在运行 valgrind,但每次我运行它时,valgrind 本身都会崩溃,并显示一条“Killed”消息,没有其他消息(结束消息堆摘要等不显示)。我在谷歌或 SO 上找不到任何关于此的信息,我希望有人能阐明导致此错误的原因以及如何调试它。
感谢任何帮助!
最佳答案
我认为您的进程可能会被内核的内存不足系统杀死 - 当系统内存不足时会以一种无法捕获的方式硬杀死进程,这就是为什么 valgrind 什么都不说就退出的原因.
大概你的程序使用了大量内存,当在 valgrind 下运行时需要额外的内存来跟踪内存的定义,没有足够的可用内存并且(无疑非常大)valgrind 进程被杀死。
如果我是对的,那么您将需要一台具有更多内存或至少具有更多交换空间的机器,以便能够在 valgrind 下运行您的程序。
关于c++ - valgrind "Killed"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938476/