對本書的贊譽
譯者序
序
前言
關於作者
第一部分簡介
第1章調試工具簡介1
1.1windows調試工具集1
1.2.net 2.0 可再發行組件2
1.3.net 2.0 sdk3
1.4sos5
1.5sosex7
1.6clr分析器8
1.7性能計數器9
1.8.net反編譯器11
1.9powerdbg11
1.10托管調試助手12
1.11小結15
第2章clr基礎16
2.1高層概覽16
.2.2clr和windows加載器18
2.2.1加載非托管映像19
2.2.2加載.net程序集21
2.3應用程序域24
2.3.1係統應用程序域27
2.3.2共享應用程序域27
2.3.3默認應用程序域27
2.4程序集簡介27
2.5程序集清單29
2.6類型元數據30
2.6.1同步塊錶36
2.6.2類型句柄40
2.6.3方法描述符45
2.6.4模塊47
2.6.5元數據標記49
2.6.6eeclass50
2.7小結52
第3章基本調試任務53
3.1調試器以及調試目標53
3.2符號57
3.3控製調試目標的執行59
3.3.1中斷執行59
3.3.2恢復執行60
3.3.3單步調試代碼62
3.3.4退齣調試會話65
3.4加載托管代碼調試的擴展命令66
3.4.1加載sos調試器擴展66
3.4.2加載sosex調試器擴展69
3.5控製clr的調試69
3.6設置斷點69
3.6.1在jit編譯生成的函數上設置斷點72
3.6.2在還沒有被jit編譯的函數上設置斷點74
3.6.3在預編譯的程序集中設置斷點76
3.6.4在泛型方法上設置斷點79
3.7對象檢查80
3.7.1 內存轉儲82
3.7.2值類型的轉儲84
3.7.3轉儲基本的引用類型90
3.7.4數組的轉儲91
3.7.5 棧上對象的轉儲96
3.7.6找齣對象的大小98
3.7.7異常的轉儲98
3.8綫程的操作102
3.8.1clrstack103
3.8.2threads106
3.8.3dumpstack109
3.8.4eestack111
3.8.5comstate111
3.9代碼審查112
3.9.1反匯編代碼112
3.9.2從代碼地址上獲得方法描述符113
3.9.3顯示中間語言指令114
3.10clr內部命令115
3.10.1獲得clr的版本115
3.10.2根據名字找到方法描述符115
3.10.3對象同步塊的轉儲116
3.10.4對象方法錶的轉儲116
3.10.5托管堆和垃圾收集器信息的轉儲116
3.11診斷命令117
3.11.1找齣對象的應用程序域117
3.11.2進程信息117
3.12sosex擴展命令118
3.12.1擴展的斷點支持119
3.12.2托管元數據122
3.12.3棧迴溯123
3.12.4對象檢查124
3.12.5自動死鎖檢測125
3.12.6托管堆與垃圾收集命令126
3.13崩潰轉儲文件128
3.14小結130
第二部分調 試 實 踐
第4章程序集加載器131
4.1clr加載器簡介131
4.1.1程序集標識132
4.1.2全局程序集緩存135
4.1.3 默認加載上下文137
4.1.4指定加載上下文138
4.1.5無加載上下文139
4.2簡單的程序集加載故障139
4.3加載上下文故障144
4.4互用性與dllnotfoundexception153
4.5輕量級代碼生成的調試154
4.6小結158
第5章托管堆與垃圾收集159
5.1windows內存架構簡介159
5.2垃圾收集器的內部工作機製167
5.2.1代168
5.2.2根對象175
5.2.3終結操作181
5.2.4迴收gc內存189
5.2.5大對象堆190
5.2.6固定195
5.2.7垃圾收集模式200
5.3調試托管堆的破壞問題200
5.4調試托管堆的碎片問題207
5.5小結230
第6章同步231
6.1同步的基礎知識231
6.2綫程同步原語231
6.2.1事件235
6.2.2互斥體237
6.2.3信號量238
6.2.4監視器239
6.2.5讀寫鎖 240
6.2.6綫程池241
6.3同步的內部細節241
6.3.1對象頭242
6.3.2同步塊243
6.3.3瘦鎖246
6.4同步任務249
6.4.1死鎖249
6.4.2孤立鎖:異常256
6.4.3綫程中止261
6.4.4終結器掛起264
6.5小結271
第7章互用性272
7.1平颱調用272
7.2com 278
7.3p/invoke調用的調試282
7.3.1調用約定282
7.3.2委托286
7.4互操作中內存泄漏問題的調試293
7.5com互用性中終結操作的調試298
7.6小結306
第三部分高 級 主 題
第8章事後調試307
8.1轉儲文件基本知識308
8.1.1通過調試器來生成轉儲文件309
8.1.2通過adplus生成轉儲文件314
8.1.3轉儲文件的調試316
8.1.4數據訪問層317
8.1.5轉儲文件分析:未處理的.net異常319
8.2windows錯誤報告320
8.3小結344
第9章一些功能強大的調試工具345
9.1powerdbg345
9.1.1安裝powerdbg345
9.1.2analyzepowerdbgthreads347
9.1.3sendpowerdbgcommand348
9.1.4擴展powerdbg的功能350
9.2visual studio352
9.2.1sos的集成352
9.2.2.net框架源代碼級調試355
9.2.3visual studio 2010358
9.3clr分析器361
9.3.1運行clr分析器362
9.3.2summary視圖363
9.3.3histogram視圖364
9.3.4graph視圖366
9.4windbg和cmdtree命令367
9.5小結368
第10章clr 4.0369
10.1工具369
10.1.1windows調試工具集369
10.1.2.net 4.0可再發行組件369
10.1.3sos370
10.2托管堆與垃圾收集370
10.2.1擴展的診斷信息370
10.2.2後颱垃圾收集374
10.3同步375
10.3.1綫程池與任務375
10.3.2監視器376
10.3.3柵欄377
10.3.4countdownevent377
10.3.5manualreseteventslim377
10.3.6semaphoreslim377
10.3.7spinwait和spinlock377
10.4互用性378
10.5事後調試379
10.6小結379
· · · · · · (
收起)