繁体   English   中英

什么会导致程序异常终止?

[英]What can cause an abnormal program termination?

MFC应用程序(使用SQLite3.dll进行数据库访问,以及使用其他DLL访问硬件)异常终止。 没有特定的终止顺序:(我的应用程序是

  1. 单线程应用
  2. 使用异常处理
  3. 使用超过6个DLL来访问不同的硬件
  4. 在WinXP SP2上运行

最初我以为可能是因为Stack Overflow ,后来才发现不是。 有人可以告诉我程序异常终止的所有一般原因是什么? 如果有人遇到类似问题或有任何提示或线索,请继续进行下去。

提前致谢

一般而言,当机原因是:

  • 读取不是您的内存
  • 写不是您的内存
  • 除以零
  • 在中断中执行您不应该执行的操作
  • free()一个指针不止一次

可能还会:

  • 有一个异常的异常
  • 在您的MFC中发现错误
  • 您的> 6个硬件访问DLL中的一个正在执行上述任一操作
  • 您遇到某种硬件故障

也许您正在向一个硬件DLL传递错误的缓冲区,或者忘记了锁定某些内存,或者甚至在DLL及其标头之间存在版本不匹配的情况。

:P有太多选择

由于这是一个运行时问题,因此建议您将调试语句发送到日志文件。 包括函数名称,可能还包括时间戳。 写入文件后,请始终刷新输出缓冲区,因为这样可以更有可能在发生异常之前将最后一行写入文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM