【发布时间】:2013-08-29 08:35:20
【问题描述】:
当我的 KDE 程序崩溃时(这很常见:(如果我安装了调试符号,则会报告错误。它是如何工作的以及如何将该功能添加到我自己的程序中?
我现在遇到了一个问题,我编写的(用 C++ 编写的)程序间歇性地崩溃,显然是由于内存管理不善。在gdb 下运行程序对我来说是非常不切实际的,因为它是一个需要运行几个小时的大规模模拟,并且只有在系统规模非常大时才会出现崩溃。能够自动将回溯转储到文件中可以节省我很多时间。
我认为它涉及将所有内容包装在某种try{}catch(){} 例程中,但我如何从中获得有用的回溯?有没有更好的办法?我所有的编程都在 Linux 上,如果这会影响答案的话。
【问题讨论】:
-
您是否尝试过围绕单元测试构建您的开发周期? :-)
-
确保在 main 中有一个大的外部 try 块。 “内存管理”是什么意思? accu.org/index.php/journals/1586
标签: c++ error-handling backtrace debug-backtrace