Приложение C # продолжает зависать в определенный момент, нужна помощь в понимании сигнатуры проблемы - PullRequest
2 голосов
/ 13 сентября 2010

У меня есть приложение 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

Это то же самое каждый раз, и у меня действительно нет достаточно глубокого пониманиябольшой смысл в этом.Поиски в Google ошибок и обсуждения файла ntdll.dll были практически бесплодны.

Еще одна вещь, это 32-битное приложение, работающее на 64-битном Windows Server 2007. Оно не может быть родным 64-битным приложением из-за того, что использует jet.OleDB.* Если кто-то может предложить некоторую помощь в этом вопросе, я был бы очень признателен.

Ответы [ 3 ]

6 голосов
/ 13 сентября 2010

Ваше приложение вызвало исключение переполнения стека в базовой подсистеме Win32. Ищите рекурсивные функции или большие локальные переменные. А еще лучше, если вы можете подключить отладчик VS к приложению и перехватить там, где происходит эта ошибка, вы должны иметь трассировку стека там, где происходит проблема.

0 голосов
/ 13 сентября 2010

Кажется, дело в том, что метод, который я использовал, был рекурсивным. Я изменил структуру задачи на пул потоков, и это, похоже, решило эту проблему стабильности. Спасибо за предложения.

0 голосов
/ 13 сентября 2010

Это не поможет, нам понадобится какая-то трассировка стека, и даже при этом наша помощь будет ограничена без исходного кода. Если сама программа не отображает ошибку, возможно, вам больше повезет в журнале событий Windows.

...