简体   繁体   English

C#应用程序始终在特定位置崩溃,需要帮助来理解问题签名

[英]C# app keeps crashing at specific point, need help understanding problem signature

I have a C# Express 2010 application that makes numerous connections to a hosted php script. 我有一个C#Express 2010应用程序,可以与托管的php脚本建立大量连接。 Once it gets to a point of around 7500 successful communications, the program stops working and offers this problem signature: 一旦达到大约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

It is the same every time, and I really do not have a deep enough understanding to make much sense of this. 每次都是一样的,我真的没有足够深入的了解以至于对此没有多大意义。 Google searches for the error and discussions regarding the ntdll.dll file were essentially fruitless. Google搜索错误,有关ntdll.dll文件的讨论基本上没有结果。

One more thing as well, it is a 32 bit app running on 64 bit windows server 2007. It can't be a native 64bit app due to the fact it uses jet.OleDB. 还有一件事,它是在64位Windows Server 2007上运行的32位应用程序。由于它使用jet.OleDB,因此不能成为本机64位应用程序。

If someone could please offer some assistance in this matter I would greatly appreciate it. 如果有人可以在这件事上提供一些帮助,我将不胜感激。

Your app has caused a stack overflow exception in the underlying Win32 subsystem. 您的应用已在基础Win32子系统中导致堆栈溢出异常。 Look for recursive functions or large local variable allocations. 寻找递归函数或大型局部变量分配。 Better yet, if you can attach the VS debugger to the app and trap where that error occurs, you should have a stack trace right to where the problem is happening. 更好的是,如果可以将VS调试器附加到应用程序并捕获发生错误的位置,则应该对发生问题的位置具有堆栈跟踪权限。

This won't really help, we would need a stacktrace of some sort, and even with that our help will be limited without sourcecode. 这实际上并没有帮助,我们需要某种堆栈跟踪,即使没有源代码,我们的帮助也会受到限制。 If the program itself doesn't display an error, you might have more luck in the Windows Event Log. 如果程序本身未显示错误,则Windows事件日志中可能还有更多运气。

It seems it was a matter of the method I was utilizing being recursive. 看来这与递归使用的方法有关。 I changed the structure of the task to a threadpool, and it appears to have resolved this stability issue. 我将任务的结构更改为线程池,它似乎已解决了此稳定性问题。 Thank you for the suggestions. 感谢您的建议。

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

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