0

Я на самом деле разрабатываю DLL, которая вводится в процесс. Эта DLL устанавливает несколько разрывов INT3 вокруг кода исполняемого файла, который называется много. Мой обработчик исключений DLL ловит те INT3, чтобы изменить несколько значений регистра и все такое, а затем возобновляет процесс, чтобы продолжить работу.Оставьте INT3 перерывы в обработчике исключений приложения на визуальной студии

Проблема: когда мне нужно отлаживать DLL (путем запуска приложения в визуальной студии), все эти INT3 являются процессами с помощью визуальной студии. Есть ли способ сообщить визуальной студии передать эти исключения обработчику исключений приложения (dll)?

Важные примечания:

  • Я не могу отключить эти INT3s, потому что фактический код DLL происходит, когда эти исключения встречаются (на обработчик).
  • Исполняемый файл скомпилирован. У меня нет исходного кода.

Благодаря

ответ

1

INT3 является команда отладки перерыв, так что ваша DLL является отладчик. Вы только что обнаружили радость отладки отладчика.

И нет, Windows не знает , кто добавил INT3, вы или Visual Studio. Таким образом, он предоставляет все прерывания для Visual Studio. Visual Studio делает отслеживание, но все непредвиденные точки останова (то есть не заданные самой Visual Studio) передаются пользователю. Причина в том, что это улавливает утверждения и тому подобное.

+0

так, в резюме: я застрял, и я ничего не могу сделать? любой способ игнорировать int3 на VS? – WoLfulus