我实际上在开发一个注入进程的DLL。这个DLL在可执行代码中设置了几个INT3中断,这些代码被称为很多。我的DLL的异常处理程序捕获那些INT3来更改几个寄存器值和类似的东西,然后它恢复该过程,以便它可以继续工作。
问题是:当我需要调试DLL时(通过在visual studio中启动应用程序),所有这些INT3都是由visual studio进行的。 有没有办法告诉visual studio将这些异常传递给应用程序的(dll)异常处理程序?
重要说明:
由于
答案 0 :(得分:1)
INT3是调试中断指令,因此您的DLL是一个调试器。您刚刚发现了调试调试器的乐趣。
不,Windows不知道谁添加了INT3,您或Visual Studio。因此它为Visual Studio提供了所有中断。 Visual Studio确实跟踪,但所有意外的断点(即不由Visual Studio本身设置)都会传递给用户。原因是这会导致断言等。