none
版主HELP,程序运行多次崩溃,如何调试?急急急!!! RRS feed

  • 问题

  • 在一GIS软件中,加载某种自定义 格式数据,第一次加载程序正常,第二次加载程序崩溃。 有时又可以加载两次(此种情况很少),一般加载到第二次就会崩溃。

     

    弹出如下异常信息,程序关闭。

    应用程序发生异常 未知软件异常(ox40000015),位置为ox036718f9

     

    这种情况如何能确定程序具体崩溃的地方。程序中调用了第三方组件中的方法,用的是原函数(raw_XXX()),

    第一次运行正常,第二次程序原函数调用失败,程序直接崩溃?try catch 异常捕捉,一样崩溃。

     

    主程序采用的是COM插件方式,崩溃地方位于一组件当中。 怀疑为程序堆被破坏,自定义结构体中用到了#include <pshpack1.h> ,是否因为有地方未调用#include <poppack.h>导致?程序中有动态分配的内存?内存问题?

    不知如何调试,这种情况经常出现(别的功能也曾出现过),一直不知道如何解决?

     

    恳求各位高手指点!  急呀,项目赶进度,偏偏又经常出现这种问题?请大家提供思路,这种问题如何解决!

    2008年11月20日 9:02

答案

  • 可用.map根据ox036718f9查看崩溃位置。但如果没有map文件就没办法了。你首先判断是自己代码问题还是第三方模块。先跟一下。

    2008年11月21日 1:08
    版主
  • 可能在第一次加载时用到了某些资源但是没有释放,在第二次加载时就有可能出错。

     

    但是最好先确认是你的程序有问题还是其他模块有问题。

     

    2008年11月21日 3:42
    版主

全部回复

  • 编写单元测试,将项目的模块隔离出来分别测试
    2008年11月20日 14:35
    版主
  • 可用.map根据ox036718f9查看崩溃位置。但如果没有map文件就没办法了。你首先判断是自己代码问题还是第三方模块。先跟一下。

    2008年11月21日 1:08
    版主
  • 可能在第一次加载时用到了某些资源但是没有释放,在第二次加载时就有可能出错。

     

    但是最好先确认是你的程序有问题还是其他模块有问题。

     

    2008年11月21日 3:42
    版主