2

我正在使用非开源库在 C++(g++) 中开发。每次我运行程序时,lib 都会崩溃(它会双重释放一些内存)。

我的程序现在可以了。但这不利于分析。我使用 -pg 来分析程序。由于崩溃,不会生成“gmon.out”。所以我根本无法分析它。

问题: 如何分析“崩溃”程序(使用 gprof)。

PS。valgrind 可以分析崩溃的程序。

问候!

4

1 回答 1

0

您可以从程序中调用一个函数来转储配置文件数据(与atexit链接时自动安装为处理程序的函数相同-pg),但我不知道它叫什么。

最简单的方法是在程序中的适当位置插入一个exit(0);调用。或者,您可以设置一个断点并call exit(0)在 GDB 中使用(除了调试程序如果您在中间停止它会影响配置文件数据)。

于 2011-12-13T14:34:22.690 回答