如果方法未被提交,如何添加断点

本文关键字:添加 断点 何添加 方法 提交 如果 | 更新日期: 2023-09-27 18:19:22

我有一个应用程序MyApp.exe。这个应用程序使用一个集MyAssembly1.dll,它本身引用MyAssembly2.dll。在MyAssembly2中,我有一个类MyClass,它有一个方法MyMethod。这个方法在用户通过几个对话框等后被调用。

如果我从Windbg中启动这个应用程序,有没有办法我可以在这个方法上设置一个断点?问题是我不知道MyAssembly2何时被CLR加载这个方法被jit了吗?

如果方法未被提交,如何添加断点

BPMD的msdn上的文档说

如果指定的模块和方法没有被加载,这个命令在创建断点之前等待模块被加载和JIT (just-in-time, JIT)编译的通知。

所以你应该能够做!bpmd myassembly .dll MyClass。即使MyAssembly2.dll尚未加载,当它加载时,调试器也会放入断点。

也可以运行!sosex。如果您知道源文件/行号,可以使用!sosex.mbp。您甚至可以在初始断点处运行这些命令。没有必要等待CLR被加载。当被编译的代码可用时,SOSEX将处理必要的通知来设置断点。

SOSEX在http://www.stevestechspot.com免费