我的代码外部的分段错误

时间:2012-09-11 05:28:34

标签: gtk arm debian wxwidgets

我有一个基于wxWidgets / GTK的应用程序运行良好 - 除了Debian Squeeze ARM系统上的一个安装。当用户刚刚激活它的主窗口时,它会崩溃。为了找到原因,我向应用程序添加了一个信号处理程序,并使用该信号处理程序中的libunwind来查找崩溃的来源。在一个工作正常的测试期间,当软件写入例如地址0x0 libunwind正确地指向了发生这种情况的函数。

但是出现意外崩溃的系统的结果有点奇怪,它们似乎发生在我的应用程序之外。一个崩溃来自一个没有名字的函数(这里libunwind返回一个空字符串),一个是由“malloc_usable_size”引起的,这是一个永远不应该死的系统函数。

那么......接下来要做什么?所有的想法,建议或任何其他提示都是受欢迎的,因为我不确定如何解决这个问题......

1 个答案:

答案 0 :(得分:0)

  • 检查缓冲区溢出或意外覆盖某些内存,以查找库函数返回的项目的任何结构,指针和内存位置。
  • 检查代码中是否有无效的指针释放,用于您正在使用的库分配指针。
  • 可能会使用valgrind也会有所帮助。