《Advanced .NET Debugging》 读书笔记 Listing 3-8/3-9: 为托管代码设置断点的过程
为托管代码设置断点的一个难点是,在IL被解释之前,不知道machine code会放在哪里。这是可以借助!bpmd –md <md address>来对相应的托管代码的方法进行断点设置
1. 在WinDbg下载入03breakpoint.exe
2. 在命令行内当程序要求输入任意键继续是,执行ctrl + C
3. 执行 .loadby sos.dll mscorwks
4. 执行 !name2ee 03breakpoint.exe Advanced.NET.Debugging.Chapter3.Breakpoint.AddAndPrint 找到该方法在内存中的位置,此时可以发现该发现还没有被JIT,因为不能直接使用bp命令设置断点。
5. 根据提示,使用 bpmd命令设置deferred 断点。
6. 使用 g 命令继续执行,可见在在该方法第一次被JIT的时候就被设置断点程序暂停下来。

浙公网安备 33010602011771号