.net 4 отладка API вызывает нарушения доступа в Debugee - PullRequest
0 голосов
/ 13 апреля 2011

Есть ли способ. Отладочный API .net 4 может каким-то образом повредить состояние приложения во время запуска?

У меня возникает следующая проблема:

  • , если я запускаюмое приложение из отладчика с использованием API отладки .net (Visual Studio 2010, Sharp Develop 4, MDBG), я получаю различные нарушения произвольного доступа.
  • , если я запускаю свое приложение из отладчика, не используя.net debugging api (delphi 2007, windbg с расширением sos) все работает отлично.
  • , если я запускаю свое приложение напрямую, а затем присоединяю к нему отладчик (например, Visual Studio 2010, sharp development 4, mdbg, delphi 2007), windbg), все работает нормально.
  • если я вернусь к .net 3.5 и clr 2.0, у меня вообще не будет никаких проблем.

, так что изменилось с .net 3.5 на 4.0в api управляемой отладки, в результате которого мое приложение генерирует нарушения прав доступа при запуске с ним?

приложение написано на delphi (неуправляемом) и c # (управляемом) с использованием удалось vcl выполнить взаимодействие.

Я едва ли могу привести какой-либо пример, чтобы воспроизвести эту проблему, поэтому я знаю, что ответить на этот вопрос может быть невозможно, но если кто-то, имеющий более глубокое понимание API отладки, можетдайте мне подсказку в правильном направлении или могли бы помочь мне сузить это, я был бы очень благодарен.

Ответы [ 2 ]

1 голос
/ 02 июля 2012

Некоторая дополнительная информация, основанная на опыте: важно использовать переменную среды COMPLUS_MDA (не забудьте перезапустить VS2010 впоследствии), а не ключ реестра MDA . Я попытался установить раздел реестра (после перезагрузки компьютера), как описано в статье MSDN http://msdn.microsoft.com/en-us/library/d21c150d,, поскольку в статье указывалось, что это должно иметь тот же результат, но это не сработало.

1 голос
/ 31 мая 2011

Просто для удовольствия попробуйте отключить процесс размещения Visual Studio.В Visual Studio щелкните правой кнопкой мыши проект, перейдите на вкладку «Отладка» и снимите флажок «Включить процесс заливки Visual Studio».

Мы видели некоторые странные вещи в управляемой / неуправляемой странев 64-битных системах под управлением 32-битных приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...