vs08开发环境下程序调试的应用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vs08开发环境下程序调试的应用 程序错误通常分为句子错误、文本错误、链接错误和逻辑错误。语法错误是比较容易查找并且修改的,而且编译给出的提示信息也比较完整,所以容易修改。链接错误来源很多,常常由于和系统、库函数等方面的原因出错,难以一言蔽之。最后是逻辑错误,这是程序开发人员在进行程序开发时所碰到的难点,因为系统没有给出明确的提示,程序开发人员也只是知道运行错误,那么如何找到并修改运行错误就非常重要。 1 理解vs2008及其发展环境 1.1 对http开发的支持 Visual Studio一直是广大程序员所关注的重要的软件开发平台。目前,大家可以从微软网站下载Visual Studio 2008 bate2 版本。Visual Studio 2008支持.NET framework 3.5,并且对以前.NET framework版本进行支持。同时,在VB3.5和C#3.5中加入了对LINQ的支持。LINQ使用户能够使用VB和C#编写出类似于SQL语句这样的指令,使得开发语言和数据库语言彼此能够结合起来。另外,在软件过程管理中,Visual Studio 2008引入了CODE MATRIX,可以测量代码的复杂度,对代码的性能进行定量的分析,从而对代码的优劣有一个比较深入的了解。 1.2 vs2008的发展环境 1.2.1 开发界面的建构 VS2008的IDE环境和以前相比更加强大,而且将VC、VC#、VB的开发界面全部都集中到一起,建立一个以解决方案为依托的代码项目组织。其中VS2008的IDE主要由菜单与工具条、属性窗口、帮助功能、对话框资源编辑、资源编辑、图片,图标编辑、代码编辑等所组成。 1.2.2 程序调试系统tf 图1中的1位置是调试常有的工具按钮,2位置的箭头指示的是当前程序运行到的位置。 工具按钮中8个按钮分别是:①是继续运行(F5,会运行到下一个断电停止,如果没有断点,则运行到结束);②是停止运行(不结束程序ctrl+shift+F5);③是结束运行(结束程序调试 shift+F5);④是重新启动;⑤是显示下一个语句;⑥是运行到函数内部(如果当前语句是一个函数)(F11) ;⑦是运行到同层的下一条语句(F10);⑧是跳出当前函数(shift+F11)。 2 对于2008年的嵌入式环境,调试应用程序的方法为 2.1 断点试验方法 最简单的一种,设置一个断点,程序执行到那一句就自动中断进入调试状态。其中又可以分为单步执行、监视以及条件中断3种不同的断点调试法。 2.1.1 发送直接执行的函数 有3种,一种是每次执行一行,但遇到函数调用就会跳到被调用的函数里;一种是直接执行当前函数里剩下的指令,返回上一级函数。在 Visual Studio中,上面3种方法对应的快捷键分别为F10、F11、Shift+F11。 2.1.2 监视测量变量的值 调试器可能会自动列出一些相关变量的值,但是你可能还关心其他变量的值,可以添加对这些变量的监视。还可以监视一个表达式的值,比如a+b。但是,这个表 达式最好不要修改变量的值,比如监视a++都会导致监视时修改了a的值,影响了程序的运行结果。 2.1.3 到j=10的状态 假如你有这样的循环: 如果怀疑当i=10且j=10的时候执行有问题,那如何调试?用断点的话,从i=0的初始状态,需要中断10次才能到i=10,然后从j=0也需要再中断 10次,才能到j=10的状态。所以想进入i=10且j=10的状态,需要中断20次,这太麻烦了。可以使用条件中断: 在空语句的那一行设置断点就可以了。上面的if结构太占地方,还可以用assert: assert(i!=10 ||j!=10);断点i不为10或j不为10,那么当i=10且j=10的时候,断点就不成立,程序就会中断,进入调试状态。有时候用throw也可以中断:if(i==10 j==10)throw。但是最好不要这样做,调试器不一定会在throw的地方中断。 2.2 有多个m与a的关系 控制变量法常用于科学研究中,比如说,研究牛顿第二定律a=F/m,a与F和m都有关,那么可以先固定m,研究a与F的关系;然后固定F,研究m与a的关系。 对于一个程序来说,一个bug可能跟多处代码有关。假如你怀疑这个bug与某些语句有关,可以把这些语句注释掉,或者是改一改,看看bug是否还存在,如果不存在,说明确实跟这些语句有关。当然,要保证程序少了这些语句之后还可以顺利运行。如果bug还存在,就说明它跟这些语句无关。 有些时候我们缺乏调试工具,比如在网页上运行的程序,在特殊设备上运行的程序,那么控制变量法是一种很有用的代替手段。 2.3 如果有实际应用,则要锁定函数的根 二分法是控制变量法的进一步扩展。在数学上,二分法用于求一个连续函数的根。比如一个函数f(x

文档评论(0)

xcwwwwws + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档