对本书的赞誉
译者序
序
前言
关于作者
第一部分 简介
第1章 调试工具简介
1.1windows调试工具集
1.2.net2.0可再发行组件
1.3.net2.0sdk
1.4sos
1.5sosex
1.6clr分析器
1.7性能计数器
1.8.net反编译器
1.9powerdbg
1.10托管调试助手
1.11小结
第2章 clr基础
2.1高层概览
2.2clr和windows加载器
2.2.1加载非托管映像
2.2.2加载.net程序集
2.3应用程序域
2.3.1系统应用程序域
2.3.2共享应用程序域
2.3.3默认应用程序域
2.4程序集简介
2.5程序集清单
2.6类型元数据
2.6.1同步块表
2.6.2类型句柄
2.6.3方法描述符
2.6.4模块
2.6.5元数据标记
2.6.6eeclass
2.7小结
第3章 基本调试任务
3.1调试器以及调试目标
3.2符号
3.3控制调试目标的执行
3.3.1中断执行
3.3.2恢复执行
3.3.3单步调试代码
3.3.4退出调试会话
3.4加载托管代码调试的扩展命令
3.4.1加载sos调试器扩展
3.4.2加载sosex调试器扩展
3.5控制clr的调试
3.6设置断点
3.6.1在jit编译生成的函数上设置断点
3.6.2在还没有被jit编译的函数上设置断点
3.6.3在预编译的程序集中设置断点
3.6.4在泛型方法上设置断点
3.7对象检查
3.7.1内存转储
3.7.2值类型的转储
3.7.3转储基本的引用类型
3.7.4数组的转储
3.7.5栈上对象的转储
3.7.6找出对象的大小
3.7.7异常的转储
3.8线程的操作
3.8.1clrstack
3.8.2threads
3.8.3dumpstack
3.8.4eestack
3.8.5comstate
3.9代码审查
3.9.1反汇编代码
3.9.2从代码地址上获得方法描述符
3.9.3显示中间语言指令
3.10clr内部命令
3.10.1获得clr的版本
3.10.2根据名字找到方法描述符
3.10.3对象同步块的转储
3.10.4对象方法表的转储
3.10.5托管堆和垃圾收集器信息的转储
3.11诊断命令
3.11.1找出对象的应用程序域
3.11.2进程信息
3.12sosex扩展命令
3.12.1扩展的断点支持
3.12.2托管元数据
3.12.3栈回溯
3.12.4对象检查
3.12.5自动死锁检测
3.12.6托管堆与垃圾收集命令
3.13崩溃转储文件
3.14小结
第二部分 调试实践
第三部分 高级主题