有什么方法可以检测或知道在什么地方出错了,而导致软件自动会退出?是这样:       软件打开,运行几分钟有可能会退出,也有可能运行了几个小时都不会出问题,操作一样的东西,一样的步骤。但结果,软件有时就给你退出,而没有任何提示,而且任务栏里也看不到线程了。

解决方案 »

  1.   

    建议楼主安装一个Eurkalog软件(内存泄漏也能捕捉到),可以自动记录出错的详细位置和原因,虽然每执行一步添加一个日志技术上可行,但可操作性不强!
      

  2.   

    http://www.cnblogs.com/huangjacky/archive/2009/12/09/1620644.html
      

  3.   


    1、动态调试工具 OD打开  在 查找所有 调用的API 在退出进程的API上 下断。然后执行,接着等待退出,一旦程序退出,就会在 API上被拦截,查看 函数的参数 和寄存器堆栈 等信息 ,最好截图保留 。
    以上的做法好处是  找到问题的原因很直接 而且准确。 缺点是麻烦  而且要熟悉 调试技巧。
    2、程序代码中关键部分插入写日志的代码 或者通过一个输出 组件 输出调试信息。优点是简单,缺点是 定位不一定准确 。
    3、通过一些软件检测程序运行状态比如(procexp xuetr) 。检测 重要的 部分,对比出错前后的不同。
    4、通过windbg+vmware 在虚拟机中检测 软件的执行状态和各个部分的问题。
    总之  出错 就要想想怎么调试  多用不同工具。
    希望对你有帮助。
      

  4.   

    eurekaLog非常不错,推荐安装使用,可以分析日志
      

  5.   

    6楼说的对,用Eurkalog,轻松省事
      

  6.   

    Eurkalog 7.x版现在好大,120多M,不过更酷了,自带的demo和help更详尽了
    盒子ftp上有7.x版带汉化文件,6.x的也有
      

  7.   

    可惜内存泄露检查不支持c++ builder 
      

  8.   

    eurekaLog 哪里下载。盒子上没找到。
      

  9.   

    http://download.csdn.net/detail/liyilinlilo2011/4538436