如何强制使用'-pg'编译的程序在它仍在运行时转储其stat信息?

时间:2011-12-13 09:30:49

标签: c gcc profiling coredump gprof

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

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

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

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

问候!

1 个答案:

答案 0 :(得分:0)

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

这样做很容易,只需在程序中的适当位置插入exit(0);电话即可。或者,您可以设置断点并在GDB中使用call exit(0)(除非调试程序将影响配置文件数据,如果您在中间停止它)。