我有一个 exe,它收集一些信息,一旦收集到的信息保存在本地机器中。我已经管理循环,以便它可以无限时间地执行相同的任务。
但是 exe 在几个小时(大约 5-6 小时)后停止执行,它既没有崩溃也没有给出异常。
我试图在windbg中找到原因,但我没有任何例外。
现在,谁能帮我发现问题?
我应该使用 sysinternal 工具还是其他任何工具,我应该使用哪个调试器工具?
我有一个 exe,它收集一些信息,一旦收集到的信息保存在本地机器中。我已经管理循环,以便它可以无限时间地执行相同的任务。
但是 exe 在几个小时(大约 5-6 小时)后停止执行,它既没有崩溃也没有给出异常。
我试图在windbg中找到原因,但我没有任何例外。
现在,谁能帮我发现问题?
我应该使用 sysinternal 工具还是其他任何工具,我应该使用哪个调试器工具?
有几件事可能会扼杀你的程序:
众所周知,永远运行的程序很难正确编写,因为您的内存管理必须是完美的。但是,如果没有更多信息,就不可能回答这个问题。
如果可执行文件不是您的并且是 Naitive C/C++ 代码,您可能希望捕获第一次机会异常转储或使用 Windows 调试工具(例如 DebugDiag 或 ADPlus)监视 exe。
或者,如果您有权访问可执行文件的开发人员,他们可能会向 exe(ETW 或其他)添加更多跟踪,以了解代码中可能的故障点。