我有一个混合使用托管和非托管代码的可执行文件。我没有它的源代码,但我可以反编译它。
我所知道的是它有时会读取一个注册表项,然后根据注册表中的程序集名称加载一个托管的 DLL。所以我想在正在读取的注册表项上设置一个断点,无论它是在托管代码还是非托管代码中读取,然后查看(希望是托管的)堆栈跟踪。然后我的计划是使用ILSpy从那里开始逐步执行反编译的代码,并观察有问题的 DLL 被使用。
这可以通过 Visual Studio 调试器、windbg 或其他调试器实现吗?我对 WinDbg 不太满意,但如果我必须使用它,我会的。