VB.NET调试全攻略
作者:(美)Mark Pearce著 谢俊,尹浩琼译
出版时间: 2004年版
内容简介
本书特点:·全面描述面向VisualBasic与VisualBasic.NET开发人员的功能强大的调试技术。·讲述从WindowsForms到ASP.NET,再到XMLWeb服务的应用程序类型。·讨论了有深度但又易于理解的调试场景,包括多线程、继承及资源管理等。本书系统全面地介绍了各种功能强大的调试技术,包括所有重要的调试工具和策略,以及WindowsForms、ASP.NET、Web服务、Windows服务和SQLServer等多种应用程序的调试方法,最后还深入浅出地讨论了多线程、继承和资源管理等调试场景。本书适合不熟悉调试技术或者希望全面掌握调试技术的VisualBasic与VisualBasic.NET开发人员阅读。
目录
第1部分 VB. NET环境中的调试
第1章 战略性调试问题
1. 1 应用程序的可靠性
1. 1. 1 理解可靠性
1. 1. 2 可靠性的衡量
1. 1. 3 软件的可靠性设计
1. 1. 4 改善软件的可靠性
1. 2 应用程序的可用性
1. 2. 1 理解可用性
1. 2. 2 可用性的衡量
1. 2. 3 设计软件的可用性
1. 2. 4 改善软件的可用性
1. 3 调试复杂系统
1. 3. 1 根据合同构建
1. 3. 2 理解通信问题
1. 3. 3 可能的解决方案
1. 4 调试开发人员心理学
1. 4. 1 没有了Edit和Continue
1. 4. 2 心理因素
1. 5 小结
1. 6 轶闻趣事
第2章 VB. NET语言中的新设计
2. 1 VB. NET中True的实际值
2. 2 类成员重载
2. 2. 1 不确定的重载
2. 2. 2 C#重载及VB. NET重载
2. 2. 3 让C#开发人员为难的重载
2. 3 理解继承问题
2. 3. 1 偶然的屏蔽
2. 3. 2 更多的屏蔽问题
2. 3. 3 理解等价性
2. 3. 4 更好的等价性
2. 3. 5 继承和方法的可见性
2. 3. 6 遍历继承树
2. 4 其他各种问题
2. 4. 1 开发人员和编译器之间的误解
2. 4. 2 VB. NET与C#之间的混淆
2. 4. 3 装箱的危险
2. 4. 4 数字不再是数字的情况
2. 4. 5 关于NaN的其他问题
2. 4. 5 关于Double
2. 4. 6 有关Double的问题
2. 5 小结
2. 6 轶闻趣事
第II部分 调试工具
第3章 Visual Studio. NET调试器
3. 1 Visual Studio调试器简介
3. 1. 1 统一用户界面
3. 1. 2 各种调试模式
3. 1. 3 分布式调试
3. 1. 4 高级断点
3. 1. 5 应用程序可显示的信息
3. 1. 6 远程调试
3. 1. 7 低级访问
3. 1. 8 调试器自动化
3. 2 VisualStudio调试器的工作机制
3. 2. 1 理解DebuggableAttribute类
3. 2. 2 VB. NET语言编译器的作用
3. 2. 3 JIT编译器的作用
3. 2. 4 VisualStudio调试器的作用
3. 2. 5 生成配置及其对调试器的影响
3. 3 3种调试模式
3. 3. 1 IDE调试
3. 3. 2 进程调试
3. 3. 3 JIT调试
3. 4 使用VisualStudio调试器IDE
3. 4. 1 使用Immediate/Command窗口
3. 4. 2 使用Output窗口
3. 4. 3 使用Source窗口
3. 4. 4 使用断点和Breakpoints窗口
3. 4. 5 使用Watch窗口
3. 4. 6 使用QuickWatch窗口
3. 4. 7 使用Locals窗口
3. 4. 8 使用Autos窗口
3. 4. 9 使用Me窗口
3. 4. 10 使用CallStack窗口
3. 4. 11 使用Modules窗口
3. 4. 12 使用Disassembly窗口
3. 4. 13 使用Threads窗口
3. 4. 14 使用RunningDocuments窗口
3. 5 VisualStudio调试器的IDE问题
3. 5. 1 窗口行为
3. 5. 2 解释Chr 0
3. 5. 3 调试器的单步调试
3. 6 小结
3. 7 轶闻趣事
第4章 使用VisualStudio. NET调试器
4. 1 VisualStudio的准备工作
4. 1. 1 General调试选项
4. 1. 2 EditandContinue选项
4. 1. 3 Just-In-Time调试选项
4. 1. 4 Native调试选项
4. 1. 5 Project默认选项 只适用于Visual Studio2003
4. 1. 6 其他有用的Visual Studio设置
4. 2 解决方案的准备工作
4. 2. 1 源文件的搜索路径
4. 2. 2 符号文件的搜索路径
4. 2. 3 解决方案的生成配置
4. 3 项目准备
4. 3. 1 项目的Build选项
4. 3. 2 项目的Start选项
4. 3. 3 项目的Optimization选项
4. 3. 4 项目的生成配置
4. 4 设置活动调试器进程
4. 5 调试生产应用程序
4. 6 调试符号管理
4. 6. 1 应用程序的符号
4. 6. 2 Windows操作系统的符号
4. 6. 3 FrameworkSDK的符号
4. 6. 4 符号服务器
4. 7 改进JIT调试
4. 8 处理没有Edit and Continue的情况
4. 9 调试公共中间语言
4. 10 理解代码优化
4. 10. 1 优化是敌人
4. 10. 2 代码优化测试
4. 11 小结
4. 12 轶闻趣事
第5章 其他调试工具
5. 1 Cordbg:控制台调试器
5. 1. 1 使用Cordbg的理由
5. 1. 2 使用Cordbg
5. 2 Dbgclr:GUI调试器
5. 3 Ildasm:查看CIL
5. 3. 1 Visual Studio中的Ildasm
5. 3. 2 从命令行调用Ildasm
5. 3. 3 研究Ildasm代码
5. 4 性能监视器:查看性能信息
5. 5 ADepends:查看程序集依赖关系
5. 6 PermView:查看程序集权限
5. 6. 1 VisualStudio中的PermView
5. 6. 2 从命令行调用PermView
5. 6. 3 研究权限
5. 7 小结
5. 8 轶闻趣事
第6章 跟踪和检测
6. 1 有用的诊断信息
6. 1. 1 应用程序的最终用户
6. 1. 2 应用程序的支持团队
6. 1. 3 应用程序的开发团队
6. 1. 4 诊断的类别
6. 1. 5 设计建议
6. 2 VB. NET跟踪
6. 2. 1 第1步:创建跟踪
6. 2. 2 第2步:激活跟踪
6. 2. 3 第3步:监听跟踪
6. 2. 4 第4步:编译时的跟踪控制
6. 2. 5 第5步:运行时的跟踪控制
6. 2. 6 有关跟踪的小结
6. 3 使用Debug类
6. 4 使用定制的性能计数器
6. 4. 1 创建定制的性能计数器
6. 4. 2 操纵性能计数器的实例
6. 5 小结
6. 6 轶闻趣事
第III部分 调试应用程序
第7章 WindowsForms调试
7. 1 调试WindowsForms应用程序
7. 1. 1 生成应用程序
7. 1. 2 中断至应用程序
7. 1. 3 命中断点
7. 1. 4 考查程序状态
7. 1. 5 查找Bug
7. 1. 6 棘手的调试情形
7. 2 调试其他的WindowsForms应用程序
7. 2. 1 调试类库
7. 2. 2 调试WindowsForms控件
7. 2. 3 调试VisualStudio插件
7. 2. 4 调试控件设计器
7. 3 小结
7. 4 轶闻趣事
第8章 Web服务调试
8. 1 调试ASP. NET工作进程
8. 2 调试准备
8. 3 使用Web浏览器进行调试
8. 4 使用SOAP客户端进行调试
8. 5 调试客户端代理
8. 6 调试远程Web服务
8. 7 调试已部署的Web服务
8. 8 处理Web服务故障
8. 8. 1 理解Web服务的异常信息流
8. 8. 2 改进Web服务异常
8. 8. 3 隐藏异常细节
8. 8. 4 诱捕未经处理的异常
8. 9 跟踪SOAP消息
8. 9. 1 构造SoapMonitor的SOAP扩展
8. 9. 2 创建SoapMonitor属性
8. 9. 3 全部组合起来
8. 9. 4 客户端的SOAP记录
8. 10 跟踪和检测
8. 11 小结
8. 12 轶闻趣事
第9章 ASP. NET调试
9. 1 IIS调试考虑事项
9. 1. 1 使用IIS 5. x进行同时调试
9. 1. 2 使用IIS 6. 0进行同时调试
9. 1. 3 IIS 5. x的进程回收
9. 1. 4 IIS 6. 0中的进程回收
9. 1. 5 URLScan. IIS和DEBUG谓词
9. 1. 6 IIS身份验证
9. 1. 7 多线程考虑事项
9. 1. 8 生产调试
9. 2 调试准备
9. 2. 1 用户账产权限
9. 2. 2 远程服务器调试
9. 2. 3 IE的配置
9. 2. 4 应用程序配置
9. 3 调试AspNetDebugDemo应用程序
9. 3. 1 ASP. NET错误处理
9. 3. 2 不进行错误处理
9. 3. 3 程序级的错误处理
9. 3. 4 页面级错误处理
9. 3. 5 应用程序级错误处理
9. 4 使用ASP. NET跟踪
9. 4. 1 页面级跟踪
9. 4. 2 应用程序级跟踪
9. 5 小结
9. 6 轶闻趣事
第10章 Windows服务调试
10. 1 调试SewiceAdmin服务
10. 1. 1 调试准备
10. 1. 2 使用进程附加进行调试
10. 1. 3 从VisualStudio附加
10. 1. 4 确保调试设置的正确性
10. 1. 5 调试不需要安装的服务
10. 1. 6 调试OnStart方法
10. 2 调试安装问题
10. 3 注意事项
10. 4 小结
10. 5 轶闻趣事
第11章 VB. Classic应用程序调试
11. 1 VB. Classic版本
11. 2 托管代码和非托管代码
11. 3 使用VB 6. 0组件的VB. NET应用程序
11. 3. 1 VB. Classic的准备工作
11. 3. 2 VB. NET的准备工作
11. 3. 3 调试第一个COM Interop应用程序
11. 3. 4 调试技巧
11. 3. 5 使用VB 6. 0调试器
11. 4 使用VB. NET组件的VB6. 0应用程序
11. 4. 1 VB. NET的准备工作
11. 4. 2 VB. Classic的准备工作
11. 4. 3 调试第二个COM Interop应用程序
11. 5 克服COM版本控制问题
11. 6 小结
11. 7 轶闻趣事
第12章 SQL Server调试
12. 1 调试需求
12. 2 调试组件的安装
12. 3 权限和sp_sdidebug
12. 4 远程调试权限
12. 5 使用VisualStudio直接进行调试
12. 6 使用QueryAnalyzer直接进行调试
12. 7 应用程序调试
12. 7. 1 应用程序调试安装
12. 7. 2 从VisualStudio中进行应用程序调试
12. 7. 3 从VisualStudio之外进行应用程序调试
12. 8 SQL调试限制
12. 9 理解SQL安全性
12. 10 小结
12. 11 轶闻趣事
第IV部分 调试常见情况
第13章 错误处理和异常管理
13. 1 异常与错误
13. 2 错误处理需求
13. 2. 1 最终用户需求
13. 2. 2 操作支持需求
13. 2. 3 开发人员需求
13. 2. 4 对异常进行日志记录
13. 3 异常和异常管理
13. 3. 1 System. Exception类
13. 3. 2 Try. . . Catch. . . Finally
13. 3. 3 Try. . . Catch. . . Finally机制
13. 3. 4 正确使用Try. . . Catch. . . Finally
13. 3. 5 构建定制的异常
13. 3. 6 调试异常
13. 3. 7 处理未处理异常
13. 3. 8 异常管理应用程序块
13. 3. 9 分析异常行为
13. 3. 10 异常示例解决方案
13. 4 小结
13. 5 轶闻趣事
第14章 调试多线程应用程序
14. 1 多线程基础
14. 1. 1 为什么多线程如此难
14. 1. 2 多线程的优点
14. 1. 3 多线程的缺点
14. 2 多线程问题
14. 2. 1 理解数据争用
14. 2. 2 理解进程死锁
14. 2. 3 理解进程活锁
14. 2. 4 理解线程饿死
14. 3 ThreadMonitor应用程序
14. 4 WindowsForms中的多线程
14. 5 处理线程失败
14. 5. 1 处理线程异常
14. 5. 2 终止托管线程
14. 6 小结
14. 7 轶闻趣事
第15章 调试分布式系统
15. 1 理解分布式应用程序
15. 1. 1 处理失败
15. 1. 2 处理状态
15. 1. 3 理解消息的语义
15. 1. 4 处理有漏洞的抽象
15. 2 远程调试简介
15. 3 远程调试准备
15. 3. 1 安装远程调试
15. 3. 2 只安装本机远程调试
15. 3. 3 安装完全远程调试
15. 3. 4 远程调试限制
15. 4 HeartbeatMonitor应用程序
15. 4. 1 HeartbeatMonitor简介
15. 4. 2 安装HeartbeatMonitor
15. 4. 3 调试HeartbeatMonitor
15. 5 监控分布式应用程序
15. 6 小结
15. 7 轶闻趣事