Как остановить сбой Visual C # 2005 при отладке на устройстве Windows Mobile? - PullRequest
1 голос
/ 12 января 2010

Я пытаюсь отладить приложение .NET Compact Framework C # на устройстве Windows Mobile 6 с помощью Visual Studio 2005. Если выполнение достигает точки останова, которую я предварительно установил, 9 раз из 10 происходит сбой. Если не произойдет сбой в первый раз, эта точка останова продолжит работать правильно, даже при многократном выполнении приложения.

Ответы [ 2 ]

3 голосов
/ 12 января 2010

Я получаю код исключения 0xC0000005 (STATUS_ACCESS_VIOLATION) по адресу 0x00000000015fab774.

Это исконное исключение. В управляемом приложении это обычно вызывается одним из ваших вызовов P / Invoc или недостатком в настроенной версии WindowsCE.

Некоторое время назад у меня была идентичная проблема с кодом принтера. Собственное исключение происходило ТОЛЬКО во время присоединенной отладки, а затем не всегда, а иногда постоянно. : D. Это никогда не случалось в производстве.
На самом деле проблема заключалась в том, что C ++ получил строку (хорошо указатель на строку), а затем поглотил следующие 1024 байта. Проблема была в том, что иногда не предполагалось получить доступ к некоторым из этих байтов! Я думаю, что это произошло во время отладки из-за использования большего количества памяти или из-за любопытного сценария выравнивания памяти.
Мы исправили эту проблему, передав длину строки в вызов C ++, поэтому не нужно было принимать следующие 1024 вслепую.

Стоит отметить, что есть еще много возможностей, которые приводят к 0xC0000005. Некоторые очень полезные люди добавили некоторые из этих возможностей здесь .

Если у вас нет доступа к любому из кода более низкого уровня, я рекомендую обсудить эту проблему с людьми, предоставившими образ вашей ОС (как правило, изготовителем), а также с любыми поставщиками компонентов низкого уровня, которые вы используете. Эту проблему трудно исправить, поэтому я не ожидал, что ее исправят сами, особенно если производитель - Symbol, Intermec или Datalogic (у создателей есть поддержка дерьма, а последние просто уволили большинство своих разработчиков).

0 голосов
/ 05 февраля 2010

Эта проблема, похоже, была решена после переустановки пакета обновления 1 для Visual Studio 2005

...