【发布时间】:2012-09-04 00:03:28
【问题描述】:
我有一个运行良好的基于 wxWidgets/GTK 的应用程序 - 除了一个安装在 Debian Squeeze ARM 系统上。当用户刚刚激活它的主窗口时,它会崩溃。为了找到原因,我向应用程序添加了一个信号处理程序,并从该信号处理程序中使用 libunwind 来查找崩溃的来源。在运行良好的测试期间,当软件编写例如正确解决 0x0 libunwind 将我指向发生这种情况的函数。
但是意外出现崩溃的系统的结果有点奇怪,它们似乎发生在我的应用程序之外。一个崩溃来自一个没有名称的函数(这里 libunwind 返回一个空字符串),一个是由“malloc_usable_size”引起的,一个永远不会以这种方式死掉的系统函数。
那么……接下来要做什么?欢迎所有想法、建议或任何其他提示,因为我不确定如何继续解决该问题...
【问题讨论】:
-
有没有可能是 libunwind 误导了你?您不能从其他系统获取核心转储并使用 gdb 吗?
-
核心转储是个好主意...我会试试的!