Исключение первого шанса в 0x782260ec в xxx.exe: 0xC0000005: нарушение доступа - PullRequest
4 голосов
/ 08 ноября 2011

Мое приложение падает через некоторое время, но я не могу найти шаблон.Я смог достать аварийную свалку.Приложение работает на Windows Mobile 6.5.Это написано на C #.Он использует API обработки изображений , PInvoks и множество потоков.

Когда я отлаживал этот дамп с помощью Visual Studio 2008, в выводе он отображал «Исключение первого шанса при 0x782260ec в xxx.exe: 0xC0000005: Нарушение прав доступа "

В стек вызовов выводится 2 записи.Но я не могу сопоставить ни одну из них для вызова из моего кода.

windbg.exe указывает, что эта ошибка возникает в "netcfagl3_5.dll"

Существуют ли специальные методы для анализа файлов дампаиз Windows Mobile ??

Ответы [ 3 ]

1 голос
/ 08 ноября 2011

0xC0000005: Access violation означает, что один из ваших вызовов p / неверен. Вызов попытался записать в область памяти, к которой у него нет доступа (что типично, если определение неверно).

Ваш дамп тоже должен содержать трассировку стека?

1 голос
/ 08 ноября 2011

«Исключение первого шанса» обычно означает исключение, которое было обработано кодом пользователя. Если вы используете Vosual Studio и эмулятор Windows Mobile для отладки, вы можете отключить обработку исключений. Перейдите в раздел «Отладка> Исключения» и проверьте столбец «Брошенный» для исключений Win32. Затем запустите программу и попытайтесь заставить ее снова упасть.

Когда отладка запускается, она останавливает выполнение и переходит к отладчику, когда срабатывает «исключение первого шанса», позволяя вам увидеть, что является причиной этого, и посмотреть, связано ли это каким-либо образом.

Библиотека 'netcfagl3_5.dll' является частью .NET CF, а не вашего кода, поэтому вы не можете сопоставить символы отладки.

0 голосов
/ 08 ноября 2011

Вам понадобится скачать windbg, Visual Studio 2008 не будет выполнять отладку Post Mortem .NET.

Если ваша машина разработки является 64-битной, см. « Как использовать Windbg для отладки дампа 32-битного приложения .NET, работающего на машине x64 »

В противном случае см. Отладка после смерти в Windows Mobile с WinDbg . также выполните поиск по запросу "Отладка Windows Mobile Post".

Самый лучший (на данный момент) и самый простой способ - воспроизвести эту проблему во время работы на отладчике. Отладка после вскрытия .net НЕ легка.

-PaulH

...