我正在使用非开源库在C ++(g ++)中进行开发。 每次我运行程序时,lib都会崩溃(它会使一些内存双倍释放)。
现在我的程序还可以。但这对分析很不利。我使用-pg来分析程序。由于崩溃,不会生成'gmon.out'。所以我根本无法描述它。
问题: 如何分析'崩溃'程序(使用gprof)。
PS。 valgrind可以分析一个崩溃的程序。 的
问候!
答案 0 :(得分:0)
您可以从程序中调用一个函数来转储配置文件数据(与atexit
链接时自动安装为-pg
处理程序的那个),但我不知道它是什么被称为offhand。
这样做很容易,只需在程序中的适当位置插入exit(0);
电话即可。或者,您可以设置断点并在GDB中使用call exit(0)
(除非调试程序将影响配置文件数据,如果您在中间停止它)。