如何通过查看可执行警告消息来查找源函数调用?

时间:2012-08-18 14:45:28

标签: c debugging gdb

运行可执行文件时出错:

(a.out:6815): GooCanvas-CRITICAL **: goo_canvas_item_get_parent: assertion `GOO_IS_CANVAS_ITEM (item)' failed

我想知道哪个函数调用导致了这个警告(因为我没有调用上面的函数),我试过用gdb运行但是没有向我显示源代码行?我编译时包含-g。感谢。

1 个答案:

答案 0 :(得分:2)

尝试将G_DEBUG=fatal_criticals添加到您的环境中。这样,您的程序将在发生严重错误时中止(),因此您的gdb可以指出断言失败的位置。

那,或者在g_critical函数中添加断点。