将INT3中断给visual studio上的应用程序异常处理程序

时间:2015-03-27 04:16:38

标签: c++ visual-studio debugging exception-handling debugbreak

我实际上在开发一个注入进程的DLL。这个DLL在可执行代码中设置了几个INT3中断,这些代码被称为很多。我的DLL的异常处理程序捕获那些INT3来更改几个寄存器值和类似的东西,然后它恢复该过程,以便它可以继续工作。

问题是:当我需要调试DLL时(通过在visual studio中启动应用程序),所有这些INT3都是由visual studio进行的。 有没有办法告诉visual studio将这些异常传递给应用程序的(dll)异常处理程序?

重要说明:

  • 我无法禁用这些INT3,因为实际的dll代码会在发生异常时发生(在处理程序上)。
  • 编译可执行文件。我没有源代码。

由于

1 个答案:

答案 0 :(得分:1)

INT3是调试中断指令,因此您的DLL是一个调试器。您刚刚发现了调试调试器的乐趣。

不,Windows不知道添加了INT3,您或Visual Studio。因此它为Visual Studio提供了所有中断。 Visual Studio确实跟踪,但所有意外的断点(即不由Visual Studio本身设置)都会传递给用户。原因是这会导致断言等。