《Advanced .NET Debugging》 读书笔记 Listing 3-8/3-9: 为托管代码设置断点的过程

为托管代码设置断点的一个难点是,在IL被解释之前,不知道machine code会放在哪里。这是可以借助!bpmd –md <md address>来对相应的托管代码的方法进行断点设置

image

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的时候就被设置断点程序暂停下来。

posted on 2010-12-25 23:40  李志鹏  阅读(234)  评论(0)    收藏  举报

导航