注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计.NET.NET开发人员调试策略

.NET开发人员调试策略

.NET开发人员调试策略

定 价:¥28.00

作 者: (美)Darin Dillon著;张楚雄,刘剑译
出版社: 清华大学出版社
丛编项:
标 签: 互连网络

ISBN: 9787302080718 出版时间: 2004-03-01 包装: 平装
开本: 26cm 页数: 196 字数:  

内容简介

  在整个程序开发周期中,调试是一项繁琐但又必须执行的任务。.NET中新增了许多调试技术和工具,本书通过实际工作中的大量示例介绍了一些根除Bug的方法,并介绍了如何利用VS.NET调试器在远程客户站点或本机上进行调试。此外,本书还谈到了在调试时需要注意的各项事宜,从而使开发人员在实际调试程序时能够更全面地考虑问题。本书适用于.NET平台下的开发人员以及希望了解.NET调试技术的相关人员。·用作者在实际工作中遇到的大量调试实例来介绍如何根除Bug·介绍如何最大限度地利用Visual Studio.NET调试器·介绍如何在远程客户站点和本地计算机上调试应用程序·指导读者如何思考调试过程,使实际的调试工作更有效

作者简介

暂缺《.NET开发人员调试策略》作者简介

图书目录

目 录
第1章 调试简介 1
1.1 明确问题 1
1.1.1 三思而后行 2
1.1.2 是否值得这样做 2
1.1.3 提高调试技能 3
1.2 .NET新增的调试特性 4
1.2.1 内存问题不再出现 4
1.2.2 语言无关性 5
1.2.3 远程调试和跨机调试 6
1.2.4 从进程中分离 7
1.2.5 ASP.NET 7
1.3 其他内容 8
第2章 调试过程中的6点建议 9
2.1 在检查Bug时,不要忽视在此之前出现的任何Bug 9
2.2 不要忘记最终目标是让程序正确执行-- 修正Bug只是手段,
并非最终目的 11
2.2.1 当目标依赖许多子目标,而这些子目标又依赖更多的子目标时 13
2.2.2 当进行下一步很困难时,可寻找一种简单的办法 13
2.3 当代码在一种方式下正常运行,而在另一种方式下出现故障时,
应将注意力集中在导致代码出现故障的方式上 14
2.3.1 将注意力集中在不同点上 15
2.3.2 当一些程序以某种方式运行时 16
2.4 在没有合理的证据时,不要怀疑问题出在硬件、API或OS上 17
2.5 在一些测试计算机上不要安装调试工具-- 以免发生异常循环 19
2.5.1 在非开发环境下检验代码的工作情况 20
2.5.2 确保能够在客户站点上调试您的产品 21
2.5.3 为您的团队提供使用其他调试方法的实践机会 22
2.6 编码后,立即在调试器上逐步验证所有代码 22
2.6.1 忘记补充函数细节 23
2.6.2 发现处理错误的代码隐藏着一个严重的问题 23
2.6.3 把修改代码也当作一次测试,但是偶尔也应该检查一下 24
2.6.4 错过优化代码的机会 25
2.6.5 正确使用逐步调试 26
2.7 小结 26
第3章 制定计划 28
3.1 蛮力调试 28
3.2 3个猜测 30
3.2.1 还是不相信我吗?让我证明给您看 31
3.2.2 构造一个测试案例 33
3.2.3 聪明地使用猜测 33
3.2.4 以前曾经见过与之类似的Bug吗 33
3.3 手机问题 34
3.3.1 一旦做出假设,我们就很可能做蠢事 35
3.3.2 收集信息-- 到何时一切才能正常运行 36
3.3.3 推理实现细节 39
3.3.4 深入问题 41
3.3.5 决定性的问题-- 故障的根源是什么 43
3.4 小结 44
第4章 断言调试 45
4.1 断言 45
4.1.1 关于消息窗口的问题 46
4.1.2 使用断言来启动调试器 47
4.2 我经常验证代码,为什么还需要断言呢 48
4.2.1 找到出错点 48
4.2.2 断言的部分优点 50
4.3 .NET的调试和跟踪类 51
4.4 积极地使用断言 53
4.5 断言性能瓶颈 55
4.6 不要断言合理的情况 57
4.7 当不能简单地使用断言时 58
4.7.1 关于Windows服务的断言 58
4.7.2 关于ASP.NET页面和Web服务的断言 59
4.7.3 关于远程对象的断言 61
4.8 使用TraceListener定制断言 61
4.8.l 启动定制的断言 63
4.8.2 在服务中使用定制的断言 64
4.9 小结 65
第5章 用日志调试 66
5.1 Printf调试 66
5.2 程序日志 67
5.2.1 日志中应该包含的信息 67
5.2.2 使日志易读 71
5.3 .NET对记录的支持 76
5.3.1 .NET中的侦听器和开关 78
5.3.2 XML配置文件 80
5.4 Windows事件日志 82
5.5 小结 84
第6章 ASP.NET调试和SQL调试 85
6.1 ASP.NET和调试器 85
6.1.1 连接调试器 87
6.1.2 远程调试 89
6.1.3 分离调试器 89
6.2 ASP.NET中的日志 90
6.2.1 ASP.NET跟踪数据 91
6.2.2 启用ASP.NET跟踪 96
6.3 调试SQL存储过程 100
6.3.1 直接逐步执行存储过程 100
6.3.2 在应用程序中调试存储过程 102
6.3.3 SQL远程调试 102
6.4 小结 103
第7章 调试远程客户站点 104
7.1 调试远程客户问题如此困难的原因 104
7.1.1 配置问题 105
7.1.2 您必须设计再现Bug 106
7.2 为什么要问我这么多问题?只要修正它不就行了 107
7.2.1 客户的期望 107
7.2.2 为什么不能实现客户的愿望 108
7.3 自动诊断实用程序 108
7.3.1 自动收集数据 109
7.3.2 诊断实用程序的设计决策 109
7.4 帮助您观察客户再现Bug的第三方工具 111
7.4.1 亲眼观察Bug 111
7.4.2 控制用户的电脑 112
7.5 对于非常严重的Bug,可以让开发人员参与技术支持工作 112
7.5.1 参与的人员越多,遗漏的信息越多 113
7.5.2 开发人员应该对客户说的话 113
7.6 构建一个带有更多日志的新版本-- 以及验证它是否被安装的方法 114
7.7 .NET的安全性 115
7.7.1 限制访问 116
7.7.2 CAS的工作方式 117
7.7.3 处理SecurityExceptions 119
7.7.4 根据每个程序集授予权限 120
7.8 小结 122
第8章 多线程调试 123
8.1 多线程的概念 123
8.2 在调试器中查看线程 125
8.3 常见线程问题的原因 126
8.3.1 竞争条件 127
8.3.2 死锁 130
8.3.3 资源匮乏 131
8.4 调试线程问题 133
8.4.1 调试竞争条件 135
8.4.2 调试死锁 139
8.5 关于线程的思考 145
8.6 小结 145
第9章 错误跟踪程序 146
9.1 需要错误跟踪软件的原因 146
9.1.1 您不知道的细节 147
9.1.2 错误跟踪程序的概念 148
9.2 开发工作流程 150
9.2.1 常见的工作流程问题 151
9.2.2 执行工作流程 152
9.2.3 处理工作流程中的反弹 153
9.3 搜索和报告 154
9.3.1 重复的PR 154
9.3.2 为解决当前Bug而从以前的Bug中查找线索 155
9.3.3 PR统计报告 156
9.4 和队员交流 158
9.4.1 与其他开发人员合作 159
9.4.2 与测试人员合作 160
9.4.3 与技术支持部门合作 161
9.5 了解您的工具 162
9.6 小结 163
第10章 源代码管理调试 164
10.1 源代码管理介绍 165
10.1.1 使用Visual SourceSafe 165
10.1.2 允许开发人员协同工作 166
10.1.3 查看文件变化的历史记录 168
10.1.4 取回某一版本或者分离一个副本 170
10.1.5 防止意外删除文件 171
10.2 用SourceSafe进行调试 171
10.2.1 用修改历史进行调试 172
10.2.2 在分支管理中修正Bug 177
10.3 习惯于使用SourceSafe 182
10.4 小结 182
结束语 184

本目录推荐