c++ - valgrind "Killed"消息

标签 c++ memory-management valgrind

我正在运行的程序失败并出现中止陷阱(错误代码 12)。为了调试错误,我正在运行 valgrind,但每次我运行它时,valgrind 本身都会崩溃,并显示一条“Killed”消息,没有其他消息(结束消息堆摘要等不显示)。我在谷歌或 SO 上找不到任何关于此的信息,我希望有人能阐明导致此错误的原因以及如何调试它。

感谢任何帮助!

最佳答案

我认为您的进程可能会被内核的内存不足系统杀死 - 当系统内存不足时会以一种无法捕获的方式硬杀死进程,这就是为什么 valgrind 什么都不说就退出的原因.

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

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

关于c++ - valgrind "Killed"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938476/

相关文章:

c++ - 从 std::set 复制到 std::deque- 内存问题

c++ - 在 C++ 中获取 twitter #hashtag 帖子

objective-c - 如何释放本地创建的对象,同时将其用作返回对象

ios - 给 UIViewController 变量分配了多少内存

c - 当程序终止时,使用未释放的 malloc 分配的内存会发生什么情况?

c - 使用 valgrind 在 strstr() 中读取大小 1 无效

C++: "Watch" "new", "delete"运算符的用法

c++ - 如何使用构造函数的参数构造成员数组的每个元素

c++ - 计算无向未加权图的每个连接部分中的节点数

C++:通过引用将 std::vector<> 成员返回给临时对象