C#app在特定点保持崩溃,需要帮助理解问题签名

时间:2010-09-13 00:47:07

标签: c# windows debugging crash

我有一个C#Express 2010应用程序,可以与托管的PHP脚本建立大量连接。一旦它达到大约7500个成功通信的程度,程序就会停止工作并提供此问题签名:

Problem Event Name: APPCRASH

Application Name: zz.exe
Application Version: 1.0.0.0
Application Timestamp: 4c8d6459
Fault Module Name: ntdll.dll
Fault Module Version: 6.0.6001.18000
Fault Module Timestamp: 4791a783
Exception Code: c00000fd
Exception Offset: 0002f1c2
OS Version: 6.0.6001.2.1.0.272.7
Locale ID: 1033

每次都是一样的,我真的没有足够深刻的理解来理解这一点。谷歌搜索错误和有关ntdll.dll文件的讨论基本没有结果。

还有一件事,它是在64位Windows Server 2007上运行的32位应用程序。由于它使用jet.OleDB,它不能是原生64位应用程序。

如果有人可以在这件事上提供一些帮助,我将不胜感激。

3 个答案:

答案 0 :(得分:6)

您的应用已在基础Win32子系统中导致堆栈溢出异常。查找递归函数或大型局部变量分配。更好的是,如果您可以将VS调试器附加到应用程序并捕获发生错误的位置,那么您应该有一个堆栈跟踪,直到问题发生的位置。

答案 1 :(得分:0)

这实际上没有用,我们需要某种堆栈跟踪,即使这样,我们的帮助也会受到限制而没有源代码。如果程序本身没有显示错误,您可能会在Windows事件日志中获得更多运气。

答案 2 :(得分:0)

这似乎是我使用递归方法的问题。我将任务的结构更改为线程池,它似乎解决了这个稳定性问题。谢谢你的建议。