1

我有一个 exe,它收集一些信息,一旦收集到的信息保存在本地机器中。我已经管理循环,以便它可以无限时间地执行相同的任务。

但是 exe 在几个小时(大约 5-6 小时)后停止执行,它既没有崩溃也没有给出异常。

我试图在windbg中找到原因,但我没有任何例外。

现在,谁能帮我发现问题?

我应该使用 sysinternal 工具还是其他任何工具,我应该使用哪个调试器工具?

4

2 回答 2

2

有几件事可能会扼杀你的程序:

  • 内存不足情况
  • 堆栈溢出
  • 循环计数器中的整数换行

众所周知,永远运行的程序很难正确编写,因为您的内存管理必须是完美的。但是,如果没有更多信息,就不可能回答这个问题。

于 2014-08-14T05:35:22.863 回答
0

如果可执行文件不是您的并且是 Naitive C/C++ 代码,您可能希望捕获第一次机会异常转储或使用 Windows 调试工具(例如 DebugDiag 或 ADPlus)监视 exe。

或者,如果您有权访问可执行文件的开发人员,他们可能会向 exe(ETW 或其他)添加更多跟踪,以了解代码中可能的故障点。

于 2014-08-15T20:52:43.570 回答