.NET 2.0应用程序调试

当前位置:首页 > 计算机网络 > 程序设计 > .NET 2.0应用程序调试

出版社:电子工业出版社
出版日期:2008-3
ISBN:9787121059704
作者:罗宾斯
页数:431页

章节摘录

插图:

内容概要

John Robbins,是Wintellect(www.wintellect.com)的创始人之一,主要负责该公司的调试、咨询服务,以及调试课程的创设与教授。作为一名公认的调试专家,John热衷于寻找和修正别人程序(这也包括一流公司的应用程序)中很难发现的Bug。他是本书前两个版本的作者,也是“Bugslayer”(MSDN Magazine上广受欢迎的专栏)的特约编辑。

书籍目录

第1部分 调试概述 第1章 Bug的来源与解决的办法    1.1  Bug与调试     什么是Bug     Bug的处理和解决方案     制定调试计划    1.2 调试的必备条件     技能组合     学习技能    1.3 调试过程     步骤1:重现Bug     步骤2:描述Bug     步骤3:总是假设Bug是因你而起的     步骤4:分而治之     步骤5:创造性地思考     步骤6:利用工具     步骤7:开始重度调试     步骤8:验证Bug是否己被修正     步骤9:学习与分享     调试过程中的最后秘密    1.4 本章小结 第2章 为调试做好准备    2.1 跟踪所有改动直至项目结束     版本控制系统     Bug跟踪系统     选择合适的系统    2.2 为搭建调试系统安排时间     当生成所有的版本时都附带调试符号     将编译警告视为错误     了解程序集载入的位置     在编译时总是打开代码分析功能    2.3 务必进行频繁生成和冒烟测试     频繁生成     冒烟测试    2.4 立刻创建安装程序    2.5 QA须用调试版本进行测试    2.6 建立符号库    2.7 安装源代码服务器     源代码服务器之禅     基础索引     用源代码服务器进行调试     更好的及更简单的源代码服务器索引    2.8 本章小结 第3章 边编码边调试    3.1 断言、断言、断言,还是断言     如何去断言和断言什么     .NET中的断言     SUPERASSERTNET    3.2 跟踪、跟踪、跟踪,还是跟踪     基础跟踪     高级跟踪    3.3 注释、注释、注释,还是注释    3.4 本章小结 第4章 常见的.NET调试问题    4.1 进程及基础相关问题     为什么你必须永远以非管理员账户进行开发     调试的秘密何在     我应该使用哪种开发方法     我们应该进行代码复查吗     当重新生成发送给团队以外人员的版本时碰到问题,我们该怎么办     有什么其他的C#编译器选项可以在对托管代码进行主动式调试时有帮助     在我的生成中应该设置什么CPU     我应该在什么时候停止升级编译器和其他工具     有什么方法可以在我第一次调试一个程序时加速源服务器     ConditionAttribute是如何工作的     你为什么总是把常量放在条件语句的左边     .NET二进制的调试和发布版本之间有什么区别  4.2 Visual Studio的Bug     Visual Studio在我加载某个特定的项目时会发生崩溃,或者当我按下F5时,它不会进行任何调试或命中任何断点。这是怎么回事呢     在编辑器中,某个特定的键会突然失效。我尝试了卸载和重新安装,但仍然无法使用该键。我要怎样才能让它重新可用呢     调试菜单(或其他主要的UI部分)时发生了什么  4.3 调试设计     你应该如何实现异常处理     如何在我的应用程序中记录未处理的异常     什么时候我应该在类中加入一个终结器  4.4 调试问题     在一个产品系统上我需要一个调试器。我必须为那台机器额外购买一份Visual Studio吗     VSHOST是什么     你能使用Visual Studio调试SQL存储过程吗     你要如何使用Visual Studio调试脚本     我怎样才能使用一个不同的代码访问安全级别(Code Access Security,CAS)进行调试  4.5 调试场景的问题     我怎样调试全局程序集缓存(Global Assembly,Cache,GAC)中的程序集     如何调试由.NET编写的Windows服务的启动代码     我的老板给我发了太多的E—mail,这让我什么也完成不了。有什么方法可以让讨厌的PHB E—mail慢下来吗     对于调试死锁你有何策略     如何调试设计时可用的程序集?如何调试外接程序     如何调试程序集加载的问题     我如何在所有未处理异常中获得源和行信息    4.6 你使用什么工具     来自SysInternals的所有东西     Lutz Roeder的Reflector     Sells Brothers的RegexDesigner.NET     Windows Installer XML(WiX)     其他工具    4.7  本章小结第2部分 强大的调试技术 第5章 Visual Studio调试器高级使用方法    5.1 高级断点及其用法     断点提示     快速中断于任何函数     位置断点修饰符    5.2  “监视”窗口     格式说明符与属性求值     创建对象ID     数据提示     扩展你自己的类型     调试器可视化工具     在监视窗口家族中调用方法    5.3 高级提示与技巧     设置下一语句命令     混合模式调试     调试异常     多线程与多进程调试    5.4 本章小结  第6章 WinDBG、SOS和ADPlus    6.1 在你开始前     安装     参考读物    6.2 基础知识     符合服务器设置     WinDBCG选项与窗口     处理被调试对象   6.3 Command窗口     获得帮助     确保加载了正确的符号     进程与线程     遍历本机堆栈     异常与事件     控制WinDBG的命令     转储文件处理     极其有用的扩展命令    6.4  SOS     加载SOS至WinDBG     加载SOS至Visual Studio     获取帮助与使用命令     程序状态与托管线程     托管调用堆栈     显示对象数据     查看GC堆     异常与断点     死锁     其他SOS命令    6.5  ADPlus     挂起模式     崩溃模式     在恰当的时候抓拍   6.6 本章小结第3部分 强大的调试工具 第7章 扩展Visual Studio IDE   7.1 使用宏进行扩展     宏参数     调试宏     代码元素     CommenTater:普通土豆们的救星     更多的宏    7.2 Visual Studio外接程序     外接程序开发技巧     选项页与HiddenSettings外接程序     SettingsMaster    7.3  本章小结 第8章 编写代码分析规则    8.1 考虑规则开发    8.2 规则开发基础     最重要的Check方法    8.3 高级规则开发     DoNotUseTraceAssertRule和CallAssertMethodsWithMessageParametersRule规则     DoNotLockOnPublicFields、DoNotLockOnThisOrMe、DoNotLockOnTypes和DoNotUseMethodImplAttributeWithSynchronized规则     AvoidBoxingAndUnboxingInLoops规则     ExceptionDocumentationInvalidRule和ExceptionDocumentationMissingRule规则    8.4 本章小结索引

编辑推荐

《.NET 2.0应用程序调试》的最佳读者对象是拥有一定开发经验的中高级开发人员和调试人员。

作者简介

《.NET 2.0应用程序调试》是资深调试专家John Robbins关于调试技术方面的第4本著作。在《.NET 2.0应用程序调试》上一个版本——《Microsoft .NET和Windows应用程序调试》的基础上,作者对大部分内容进行了全面的更新。《.NET 2.0应用程序调试》删掉了上一版本中的“本机代码的强大工具和技术”部分,剩下了前面的3大部分:“调试概述”、“强大的调试技术”和“强大的工具”。在第1部分中,作者首先介绍了Bug的来源以及调试的基础知识,并在该部分的结尾处,对以往读者提出的一些具有代表性的问题做了一一解答。而后,在第2部分中,作者介绍了Visual Studio 2005在调试方面的新特性,以及如何使用Visual Studio 2005、WinDBG、SOS、ADPlus等进行应用程序调试。最后,在第3部分,作者介绍了如何对Visual Studio的IDE进行扩展,以及如何编写你自己的代码分析规则。

图书封面


 .NET 2.0应用程序调试下载 更多精彩书评



发布书评

 
 


精彩书评 (总计2条)

  •     中文版,纯属垃圾货。自以为了不起,其实啥都没说清楚。Debug很重要,对新手,这书在书店里翻翻就是了。或者在网上看看目录,了解一下Debug大概有哪些内容。然后安装个VS.net,设置断点,自己就可以玩了。没必要浪费钱去买这破书。
  •     作者非常风趣,问题说得都很到位,这似乎已经不是一本单纯讲解调试技术的书,软件工程、项目管理、等等内容都有涉及,很有意思!不过全书重点还是在.NET调试方面,部分内容相当有深度,相信如果能把此书融会贯通者,离彻底掌握.NET底层运行机制和调试方面也一定不远啦!虽偶有不太通顺的地方,但总的来说这本书的翻译还是很到位的,这里发点中译本的勘误信息,仅供参考:1、P58页,第9行:文字遗漏查看C:\Program Files目录 -> 查看C:\Program Files(x86)目录2、P115页、第1行:文字重复显示了显示了 -> 显示了3、P120页,第5段第2行:文字错误CDM -> CDB4、P130页,第4段第2行:翻译错误ILMerge带有独立的.NET程序集,并能合并成一个程序集 ->ILMerge will take separate .NET assemblies and mash them together into a sigle assembly.5、P172页,第2段,第1行;P173页,第1行:翻译不准确,关键字不应该再翻译成中文。JavaScript 调试器 -> JavaScript 的debugger6、P173页,第2段,第2行:文字错误要再运行于 -> 要在运行于7、P173页,倒数第2段:这段应该是一个小标题,字体应该加大加粗;这部分在全书目录中也遗漏了。8、P177页,第4段第1行:翻译错误我想介绍一些在我调试弹药库时的某些情况下很有用的超酷技巧 ->I want to talk about some of those very cool tricks in my debugging arsenal that come in handy in specific scenarios.9、P207页,第2行:文字错误点一下“全部” -> 点一下“所有”10、P352页,倒数第5行:文字错误他天天 -> 她天天11、P349页:翻译遗漏清单6-6的所有注释没有翻译12、P297页,倒数第2段,翻译重复从第2行的Rotor到第4行的(ECMA)实现部分内容都可以删除掉。13、P303页,第4行,翻译错误将它用于快速查看堆栈上已使用对性的!dso命令时出奇地有用 ->A surprisingly useful command to get a quick look at what objects are used on the stack is !dso. 14、P310页第1行,将generations翻译成代数有些欠妥,可能翻译成“代”更好些,这部分内容最好在先学习完《CLR via C#,Second Edition》的第20章第14节后再阅读会比较好理解。15、P321页表6-3,第4行,文字错误出现规定句柄 -> 出现固定句柄

精彩短评 (总计7条)

  •     书倒是一本好书,集中了作者的很多经验。对调试还是很有帮助,里面的理论和方法还是很值得借鉴的。不过和很多译著一样,个别地方的翻译还是有待提高和改进。总体来说书还是不错的。给一个4星的评价。
  •     上次连买了两本"电子工业出版社"的书,,花了150多元,,75折的,心想很便宜.但是到货后,发现质量很差,不如自已打印电子书.,而且,更可恨的是:有意把防伪标志撕了。
  •     总的来说,这本书还是可以的,对.net中的调试方法介绍的比较全面,很适程序测试员阅读
  •     程序员进阶必读的好书,正好工作需要,可以放在案头随时翻看了
  •     书还没看完,不过感觉书的纸张之类的还是挺不错的。。
  •     里面的东西基本上都是接触过的东西
  •     请读过本书的书友回复一下
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024