.NET高级调试

.NET高级调试
9.2
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Mario Hewardt)
出版社: 机械工业出版社
2011-01
版次: 1
ISBN: 9787111320852
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 379页
正文语种: 简体中文
原版书名: Advanced .NET Debugging
  • 《.NET高级调试》内容主要包括:调试工具简介、CLR基础、基本调试任务、程序集加载器、托管堆与垃圾收集、同步、互用性以及一些高级主题,如事后调试、一些功能强大的调试工具和.NET4.0中的新功能等。这是一本介绍如何通过非托管调试器(包括WinDBG、NTSD和CDB等)来调试.NET。应用程序的书籍。《.NET高级调试》内容翔实、条理清晰,适合软件开发人员、软件测试人员、质量保证人员和产品技术支持人员等参考。 MarioHewardt,是微软公司的一位资深开发经理,在WirIdows系统级开发领域拥有十余年的开发经验。他目前领导开发团队负责Microosoft在线IT管理解决方案的开发。Hewardt是《Windows高级调试》(机械工业出版社2009年5月出版)的作者之一。 对本书的赞誉
    译者序

    前言
    关于作者
    第一部分简介
    第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.6EEClss
    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小结

    第二部分调试实践
    第4章程序集加载器
    4.1CLR加载器简介
    4.1.1程序集标识
    4.1.2全局程序集缓存
    4.1.3默认加载上下文
    4.1.4指定加载上下文
    4.1.5无加载上下文
    4.2简单的程序集加载故障
    4.3加载上下文故障
    4.4互用性与DllNotFoundException
    4.5轻量级代码生成的调试
    4.6小结

    第5章托管堆与垃圾收集
    5.1Windows内存架构简介
    5.2垃圾收集器的内部工作机制
    5.2.1代
    5.2.2根对象
    5.2.3终结操作
    5.2.4回收GC内存
    5.2.5大对象堆
    5.2.6固定
    5.2.7垃圾收集模式
    5.3调试托管堆的破坏问题
    5.4调试托管堆的碎片问题
    5.5小结

    第6章同步
    6.1同步的基础知识
    6.2线程同步原语
    6.2.1事件
    6.2.2互斥体
    6.2.3信号量
    6.2.4监视器
    6.2.5读写锁
    6.2.6线程池
    6.3同步的内部细节
    6.3.1对象头
    6.3.2同步块
    6.3.3瘦锁
    6.4同步任务
    6.4.1死锁
    6.4.2孤立锁异常
    6.4.3线程中止
    6.4.4终结器挂起
    6.5小结

    第7章互用性
    7.1平台调用
    7.2COM
    7.3P/Invoke调用的调试
    7.3.1调用约定
    7.3.2委托
    7.4互操作中内存泄漏问题的调试
    7.5COM互用性中终结操作的调试
    7.6小结

    第三部分高级主题
    第8章事后调试
    8.1转储文件基本知识
    8.1.1通过调试器来生成转储文件
    8.1.2通过ADPIus生成转储文件
    8.1.3转储文件的调试
    8.1.4数据访问层
    8.1.5转储文件分析:未处理的NET异常
    8.2Windows错误报告
    8.3小结

    第9章一些功能强大的调试工具
    9.1PowerDbg
    9.1.1安装PowerDbg
    9.1.2Analyze-PowerDbgllareads
    9.1.3Send-PowerDbgCommand
    9.1.4扩展PowerDbg的功能
    9.2VisualStudio
    9.2.1SOS的集成
    9.2.2.NET框架源代码级调试
    9.2.3VisualStudio2010
    9.3CLR分析器
    9.3.1运行CLR分析器
    9.3.2Summary视图
    9.3.3Histogram视图
    9.3.4Graph视图
    9.4WinDbg和CmdTme命令
    9.5小结

    第10章CLR4.0
    10.1工具
    10.1.1Windows调试工具集
    10.1.2.NET4.0可再发行组件
    10.1.3SOS
    10.2托管堆与垃圾收集
    10.2.1扩展的诊断信息
    10.2.2后台垃圾收集
    10.3同步
    10.3.1线程池与任务
    10.3.2监视器
    10.3.3栅栏
    10.3.4CountdownEvent
    10.3.5ManualResetEventSlim
    10.3.6SemaphoreSlim
    10.3.7SpinWait和Spin10ck
    10.4互用性
    10.5事后调试
    10.6小结
  • 内容简介:
    《.NET高级调试》内容主要包括:调试工具简介、CLR基础、基本调试任务、程序集加载器、托管堆与垃圾收集、同步、互用性以及一些高级主题,如事后调试、一些功能强大的调试工具和.NET4.0中的新功能等。这是一本介绍如何通过非托管调试器(包括WinDBG、NTSD和CDB等)来调试.NET。应用程序的书籍。《.NET高级调试》内容翔实、条理清晰,适合软件开发人员、软件测试人员、质量保证人员和产品技术支持人员等参考。
  • 作者简介:
    MarioHewardt,是微软公司的一位资深开发经理,在WirIdows系统级开发领域拥有十余年的开发经验。他目前领导开发团队负责Microosoft在线IT管理解决方案的开发。Hewardt是《Windows高级调试》(机械工业出版社2009年5月出版)的作者之一。
  • 目录:
    对本书的赞誉
    译者序

    前言
    关于作者
    第一部分简介
    第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.6EEClss
    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小结

    第二部分调试实践
    第4章程序集加载器
    4.1CLR加载器简介
    4.1.1程序集标识
    4.1.2全局程序集缓存
    4.1.3默认加载上下文
    4.1.4指定加载上下文
    4.1.5无加载上下文
    4.2简单的程序集加载故障
    4.3加载上下文故障
    4.4互用性与DllNotFoundException
    4.5轻量级代码生成的调试
    4.6小结

    第5章托管堆与垃圾收集
    5.1Windows内存架构简介
    5.2垃圾收集器的内部工作机制
    5.2.1代
    5.2.2根对象
    5.2.3终结操作
    5.2.4回收GC内存
    5.2.5大对象堆
    5.2.6固定
    5.2.7垃圾收集模式
    5.3调试托管堆的破坏问题
    5.4调试托管堆的碎片问题
    5.5小结

    第6章同步
    6.1同步的基础知识
    6.2线程同步原语
    6.2.1事件
    6.2.2互斥体
    6.2.3信号量
    6.2.4监视器
    6.2.5读写锁
    6.2.6线程池
    6.3同步的内部细节
    6.3.1对象头
    6.3.2同步块
    6.3.3瘦锁
    6.4同步任务
    6.4.1死锁
    6.4.2孤立锁异常
    6.4.3线程中止
    6.4.4终结器挂起
    6.5小结

    第7章互用性
    7.1平台调用
    7.2COM
    7.3P/Invoke调用的调试
    7.3.1调用约定
    7.3.2委托
    7.4互操作中内存泄漏问题的调试
    7.5COM互用性中终结操作的调试
    7.6小结

    第三部分高级主题
    第8章事后调试
    8.1转储文件基本知识
    8.1.1通过调试器来生成转储文件
    8.1.2通过ADPIus生成转储文件
    8.1.3转储文件的调试
    8.1.4数据访问层
    8.1.5转储文件分析:未处理的NET异常
    8.2Windows错误报告
    8.3小结

    第9章一些功能强大的调试工具
    9.1PowerDbg
    9.1.1安装PowerDbg
    9.1.2Analyze-PowerDbgllareads
    9.1.3Send-PowerDbgCommand
    9.1.4扩展PowerDbg的功能
    9.2VisualStudio
    9.2.1SOS的集成
    9.2.2.NET框架源代码级调试
    9.2.3VisualStudio2010
    9.3CLR分析器
    9.3.1运行CLR分析器
    9.3.2Summary视图
    9.3.3Histogram视图
    9.3.4Graph视图
    9.4WinDbg和CmdTme命令
    9.5小结

    第10章CLR4.0
    10.1工具
    10.1.1Windows调试工具集
    10.1.2.NET4.0可再发行组件
    10.1.3SOS
    10.2托管堆与垃圾收集
    10.2.1扩展的诊断信息
    10.2.2后台垃圾收集
    10.3同步
    10.3.1线程池与任务
    10.3.2监视器
    10.3.3栅栏
    10.3.4CountdownEvent
    10.3.5ManualResetEventSlim
    10.3.6SemaphoreSlim
    10.3.7SpinWait和Spin10ck
    10.4互用性
    10.5事后调试
    10.6小结
查看详情
好书推荐 / 更多
.NET高级调试
伊坂幸太郎:疾风号(新版)
[日]伊坂幸太郎 著;代珂 译
.NET高级调试
鸟·凶宅·牧歌
普劳图斯 著;阿里斯托芬(Aristophanes)、杨宪益 译
.NET高级调试
摄影哲学的思考(影像文丛系列丛书)
威廉;弗卢塞尔
.NET高级调试
左传撷华
林纾 著;低音 出品
.NET高级调试
明代宦官制度研究
胡丹 著
.NET高级调试
鼠小兵:1152年冬
[美]大卫·彼得森 著;方堃 译
.NET高级调试
276幅珍贵设计手稿:伟大建筑手稿
海伦·托马斯(Helen Thomas) 著;马尧、婷玉 译
.NET高级调试
银幕形象创造:百年诞辰典藏纪念版
赵丹 著
.NET高级调试
不同的音调:自闭症的故事
[美]约翰·唐文(John Donvan)、凯伦·祖克(Caren Zucker) 著
.NET高级调试
真名实姓:弗诺·文奇的科幻世界与现代计算机网络的发展
[美]弗诺·文奇 著;李克勤 译
.NET高级调试
甲骨文丛书·巴比伦:美索不达米亚和文明的诞生
保罗·克里瓦切克(Paul Kriwaczek) 著;陈沅 译
.NET高级调试
艺术与观念04·澳大利亚土著艺术
[澳]霍华德·墨菲 著;苗纡 译