我们有一个非托管的Windows服务器应用程序作为C++服务运行,在Win2003服务器上运行几天后就会悄悄崩溃。没有生成Dr. Watson日志文件( Dr. Watson日志没有问题,因为它捕获了同一应用程序中的其他崩溃)。由于缺少Dr. Watson日志文件,我们无法进一步了解如何调试此日志文件。
TCP服务器应用程序是某种HTTP处理器。它连接到广泛的and服务器并处理数据。
谁能告诉我怎样才能调试这些无声的崩溃..有1000+用户随时连接到此服务器,因此不可能在调试模式下运行相同的用户。崩溃是不可重现的,在6台服务器中的一台上每5-10天发生一次。
任何可以帮助调试这些静默崩溃的工具。该应用程序是一个纯C++应用程序,没有任何MFC或STL。
提前谢谢。
克里希纳
发布于 2010-07-09 01:21:10
上一次我遇到这样的静默崩溃问题是因为C runtime parameter validation.,默认情况下,它只调用TerminateProcess,而没有任何其他好处(取决于您链接到的msvcrt*.dll版本)。如果这是问题的原因,您可以通过调用_set_invalid_parameter_handler并提供一个处理程序来避免它,该处理程序要么调用DebugBreak (强制崩溃),要么什么也不做,允许向调用者返回错误代码。详细信息请参见上面的链接。
https://stackoverflow.com/questions/3206220
复制相似问题