- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows应用调试技术浅谈
目录 1 简介 1 1.1 目的 1 1.2 范围 1 1.3 参考资料 1 1.4 概述 1 2 调试工具 1 3 符号文件(Symbol Files ) 2 3.1 什么是符号文件 2 3.2 如何得到符号文件 2 4 内存,堆,栈 5 4.1 内存堆如何分配释放 5 4.2 Windows C运行库对内存检测的支持 6 5 DEBUG和RELEASE版本区别 8 6 Windows应用程序调试方法 8 6.1 Visual Studio调试功能 8 6.1.1 启动调试器 9 6.1.2 设置断点 9 6.1.3 服务程序调试 13 6.1.4 远程调试 13 6.1.5 转储 15 6.2 WinDBG调试 17 6.2.1 Ad Plus 17 6.2.2 Gflags 19 6.2.3 Umdh 20 7 汇编代码调试 24 7.1 常用汇编指令 24 7.2 常用寄存器 25 7.3 函数调用规范 25 7.4 Windows函数调用过程 25 8 辅助软件及工具 26 8.1 AQTime 27 8.2 Application Verifier 27 8.3 Purify 29 8.4 BoundChecker 30 简介 目的 本文档主要介绍了利用Visual Studio和WinDBG调试工具对Windows应用程序进行调试和错误分析,找到程序中存在的错误,改进应用程序。文档主要针对一些常见的Windows应用程序错误如何进行诊断和调试进行讨论,给出一些解决办法。(文章主要内容来源于网络,涉及的几款主流调试工具的操作使用经过实践论证) 范围 本文档针对的是Windows用户态应用程序,不涉及内核态程序调试和其他平台应用程序。所利用的工具是Visual Studio 2010和WinDBG工具集。适用平台为Windows 2000系统以上。 参考资料 /zh-cn/library/default.aspx Windows用户态程序高效排错,熊力编 概述 任何Windows应用程序都可能存在很多Bug,比如程序崩溃,内存泄露,异常等。一旦出现这些异常有什么办法可以尽快定位出错原因,找到解决办法?有时候我们有调试工具,比如Visual Studio,WinDBG等,但是如果在实施现场,不允许停止程序或程序运行的计算机不具备调试环境该怎么办,下面会针对这些情况给出一些调试方法来处理这些状况。 下面的部分主要介绍对常见异常的调试,例如程序崩溃,内存泄露,资源泄露。还会介绍如何远程调试,在不停止程序情况下调试。这里的调试主要针对非托管的应用程序,对于托管代码,文档中也会特别指明。 文档中不会对所有情况都进行很细致的介绍,可以参考上面列出的参考资料。文章结尾还将对其他常用的调试工具做简要操作介绍。 调试工具 本文档介绍的调试工具是Visual Studio 2010和WinDBG。 Visual Studio是常用的Windows应用开发和调试工具,它提供了可视化的界面,可以方便的进行单步跟踪和调试,还可以设置断点,察看内存和数据结构,还可以察看线程和模块信息。同时Visual Studio还可以远程调试,Visual Studio适合于在有完整的源代码情况下调试。不过Visual Studio比较庞大,安装和卸载都比较费时。 WinDBG是一个很小的工具包,可以方便的从微软下载。其提供了Visual Studio能实现的所有功能。实际上,从微软下载的是一个完整的工具包,WinDBG是其中一个主要工具,其他的小工具还有: Gflags .exe: 用于设置各种全局调试标志 Umdh.exe: 用户模式下堆调试工具。和Gflags配合使用可以方便的检测堆上的内存泄露。 CDB和NTSD: 这是两个控制台调试工具,可以通过控制台绑定到应用程序,然后调试。 KD:调试内核程序。 Adplus.vbs 一个脚本程序,其内部调用CDB,可以用来监视程序异常和抓取dump文件。 WinDBG的下载路径是/whdc/devtools/debugging/default.mspx。 相比较于Visual Studio,WinDBG安装卸载方便,在没有代码或仅仅需要部分代码情况下都可以调试。实际上,它只需要符号文件就可以了。不过,WinDBG没有Visual Studio那样丰富友好的窗口,用户需要对其命令比较熟悉,不容易学习。 除了以上的两个工具,Windows自身也有一些调试和察看工具。比如: Drwtsn32.exe :可以用于监视程序异常,即时抓取程序崩溃时的dump文件。 Perfmon.exe:Windows性能监视器。通过性能监视器可以监视进程的一些参数,察看是否有内存泄露等。 符号文件(Symbol Files )
文档评论(0)