上一页 1 ··· 3 4 5 6 7 8 9 下一页

2010年12月25日

摘要: 为托管代码设置断点的一个难点是,在IL被解释之前,不知道machine code会放在哪里。这是可以借助!bpmd –md md address来对相应的托管代码的方法进行断点设置 1. 在WinDbg下载入03breakpoint.exe 2. 在命令行内当程序要求输入任意键继续是,执行ctrl + C 3. 执行 .loadby sos.dll mscorwks 4. 执行 !nam... 阅读全文
posted @ 2010-12-25 23:40 李志鹏 阅读(234) 评论(0) 推荐(0)
摘要: 1. 首先在 WinDbg下载入notepad.exe 2. 设定symbol path .sympath c:\symbols 3. 使用X命令查找有哪些Save函数: 结果是找到其中一个想要的命令 notepad 函数 notepad!SaveFile 4. 设置断点  bp notepad!SaveFile 5 使用 g 继续执行,打开记事本,运行Save命令,断点击中。 阅读全文
posted @ 2010-12-25 23:07 李志鹏 阅读(1625) 评论(0) 推荐(0)
摘要: 1. 在WinDbg下载入01MDASample.exe 2. 执行 sxe ld mscorwks.dll 该命令的作用是在进程载入mscorwks之后停下来 3. 执行 g  可见程序在载入mscorwks.dll 之后停下来了 4. 执行 .loadby sos.dll mscorwks 阅读全文
posted @ 2010-12-25 22:25 李志鹏 阅读(234) 评论(0) 推荐(0)
摘要: 针对如下的程序,要为其静态方法AddAndPrint加上Breakpoint: 1. 在WinDbg下载入breakpoin.exe 2. 执行 .sympath c:\symbols 指定symbol的路径 3. 执行 g 4. 此时命令提示行内程序会提示按仍意键继续,输入任意键 5. 程序会进行第二次的按任意键继续,此时在命令提示行界面下按Ctrl+C 6. 在WinDbg里面执行 ... 阅读全文
posted @ 2010-12-25 21:36 李志鹏 阅读(218) 评论(0) 推荐(0)
摘要: 1. 执行tlist得到该程序的PID 2. 在debugger目录下执行 ntsd –p pid 阅读全文
posted @ 2010-12-25 16:46 李志鹏 阅读(182) 评论(0) 推荐(0)
摘要: 1. 双击03simple.exe 2. 打开commandline prompt,运行tlist,可以查到该进程的pid是3024 阅读全文
posted @ 2010-12-25 15:56 李志鹏 阅读(227) 评论(0) 推荐(0)
摘要: 1. 打开command-line prompt,跳转到debugger所在目录,执行 ntsd %filedir%\file可以得到如下:   2. 其中Symbol search path指向了symbol的一些信息。 同时我们可以看到程序执行到断点处时,加载了那些dll 之后等到用户输入命令的提示符的格式是0:000,其中0代表了是第0个对象,而000代表了是第000个线程。 阅读全文
posted @ 2010-12-25 15:26 李志鹏 阅读(229) 评论(0) 推荐(0)

2010年12月24日

摘要: 改例主要是为了说明托管heap的结构: 可见每个对象实体前面的头部都包括两部分内容,一个是syncblk,用于同步对象,里面存放的是指向另外一个统一管理的空间的指针;另一个type handler,存放了关于这个实例对象的内容的描述信息。   1. 载入02typesample.exe 2. .loadby sosex.dll 3. !mbp 02typesample.cs 34 4. ... 阅读全文
posted @ 2010-12-24 00:17 李志鹏 阅读(419) 评论(0) 推荐(0)

2010年12月23日

摘要: 1. 使用windbg载入02typesample.exe2. 执行.load sosex.dll 这样就可以设置断点了3. 执行!mbp 02typesample.cs 34在如下位置设置断点。注意新的sosex.dll 已经不推荐使用!bspc设置断点了:4. 执行g,运行到断点处。5. 可以看到有两个方法,一个是AddCoordinates(),另一个是Main方法。在Main方法内有一个Reference type类型的对象。其指向的地址为0x00000000027836106. 执行!dumpobj 0x0000000002783610。可以看到该对象内包含一个value type的 阅读全文
posted @ 2010-12-23 13:51 李志鹏 阅读(306) 评论(0) 推荐(0)
摘要: 1. 在Windbg内加载executable之后,首先要是用g命令让clr加载,否则使用.loadby sos.dll mscorwks会提示找不到mscorwks 2. 程序运行之后,使用.loady sos.dll mscorwks 3.执行!dumpdomain,接着可以看到 可见缺省状态下,程序包括三个application domain,即system domain, shared... 阅读全文
posted @ 2010-12-23 00:06 李志鹏 阅读(421) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 下一页

导航