关于调试技巧,个人觉得还是很重要的,于是把自己之前写过的总结拿出来,修修补补再复习一下。

F7 单步跟踪法

  这是大家都最常用的调试方法,可以一步一步去跟踪程序的运行方向,以及各种变量的变化情况,当发现错误后,用 ctrl+F2 结束调试,更改错误,注意的是 F7 调试时数组不要开得过大,虚拟内存占用过多时,程序运行会非常慢,甚至死机。

Watch 的小技巧

  首先,不用说都知道 ctrl+F7增加 Watch 变量至最下端,鼠标指向可以添加至 watch任意位置,其次,对于数组,在 watch时一定特别麻烦,很长很长,其实有一种很巧妙的方法,就是 watch   a[i],也就是说, watch你认为可能出错的地方,把多个排成一列方便查错,同时 watch数组套变量也可以随时跟踪数字的改变情况。此外,如果有ansistring,就在watch时先变为string,因为ansistring是无法调试的。关于指针的跟踪,可以把所指单元赋值给一般的变量后再watch。

F4 光标跟踪法

许多时候,你可能将错误改正后发现还是有错误,这时候,前面又确定是没有错误的了,这时候,就可以将光标移至正确段落后,按下 F4,就可以从该处开始调试。此外,在一个循环内定一点,用F4 调试,可以一整个循环跟踪。

F8 主程序调试法

  F8的一个特点就是调试的时候可以跳过过程,不进入跟踪,与F7 配合使用,可以节省出许多调试时间。比如发现一个过程有错,再跟踪进去检查。

F8断点调试法

  按下ctrl+F8,我们就可以看到出现了一行红色的条,那么我们在运行的时候程序就会运行到这里停止,这时候,可以F7调试,或watch变量,还有就是断点可以多个断,一般用F4就可以替代断点调试,但是当F4坏掉时,F8断点也不失为一种好的调试方法。

关键字检查法

当你一个程序无输出时,又不知道哪个环节出了错,就可以在认为可能有错的地方设置关键字,比如输出 wrong1,wrong2,假如一处没有按你所写的输出,则在此处关键字与上一处关键字处出错。

静态查错法

  个人感觉,静态查错才是程序调试的最高境界,当编完程序,首先应该做的不是用测试数据去测,而是自己再仔细阅读一遍程序,看看是否按照自己的意思来进行,有没有语法错误,或是变量名错误,然后才进入调试。

——2013年10月30日

Noip2013调试技巧的更多相关文章

  1. 【工具】VS2010常用调试技巧(1)

    调试是一个程序员最基本的技能,其重要性不言自明.不会调试的程序员就意味着他即使会一门语言,却不能编制出好的软件.本文就本人在开发过程中常用的调试技巧作下简单呢介绍,希望对大家有所帮助,能力超群者请绕道 ...

  2. Visual Studio高级调试技巧

    1. 设置软件断点,运行到目标位置启动调试器 方法①:使用汇编指令(注:x64 c++不支持嵌入汇编) _asm 方法②:编译器提供的方法 __debugbreak(); 方法③:使用windows ...

  3. 【转】你所不知道的Android Studio调试技巧

    这篇写Android studio debug技巧个人觉得写得不错,转自:http://www.jianshu.com/p/011eb88f4e0d# Android Studio目前已经成为开发An ...

  4. VS调试技巧,提高调试效率(转):

    如果你还没有使用过这些技巧,希望这篇博文能帮你发现它们. 它们学起来很容易,能帮你节省很多时间. 运行到光标(Ctrl+ F10) 我经常看见人们是这样来调试应用程序的: 他们在应用程序需要调试的代码 ...

  5. iOS各种调试技巧豪华套餐

    转载自http://www.cnblogs.com/daiweilai/p/4421340.html 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global Break ...

  6. xcode调试技巧

    xode报错有时挺无厘头,完全不知道哪里出的问题,最后还得用排除法,记录一些工作中认为有用的调试技巧 1.左侧视图点断点视图,左下角点加号,选择exception breakpoint,类型选c++, ...

  7. 你所不知道的Android Studio调试技巧

    转载:http://www.jianshu.com/p/011eb88f4e0d Android Studio目前已经成为开发Android的主要工具,用熟了可谓相当顺手.作为开发者,调试并发现bug ...

  8. Visual Studio原生开发的20条调试技巧(下)

    我的上篇文章<Vistual Studio原生开发的10个调试技巧>引发了很多人的兴趣,所以我决定跟大家分享更多的调试技巧.接下来你又能看到一些对于原生应用程序的很有帮助的调试技巧(接着上 ...

  9. Visual Studio原生开发的10个调试技巧

    这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧.我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧.(如果你是工作在托 ...

随机推荐

  1. crontab Linux定时器工具

    要使用crontab定时器工具,必须要启动cron服务: service cron start crontab的语法,以备日后救急.先上张超给力的图: crontab各参数说明: -e : 执行文字编 ...

  2. jQuery 源码分析和使用心得 - 文档遍历 ( traversing.js )

    jQuery之所以这么好用, 首先一点就是$()方法和它强大的选择器. 其中选择器使用的是sizzle引擎, sizzle是jQuery的子项目, 提供高效的选择器查询. 有个好消息告诉大家, 就是s ...

  3. sql语句操作记录

    发觉一些sql语句写出来的时候不停忘记,做一个记录. mySQL .查看表的创建过程sql语句和注释,注释是在创建表的过程中增加comment,后面跟随注释的内容 SHOW CRATE TABLE T ...

  4. B2C 电商网站需要怎样的 ERP 系统

    B2C 电商网站需要怎样的 ERP 系统 主要由如下一些系统组成:1.进销存系统,你的产品的采供销当然最好是由系统来实现:2.BI系统,BI包括所有的流量.订单.商品.库存.发货等所有数据节点,亦包含 ...

  5. selenium webdriver 学习笔记(三)

    selenium webdriver 一.上传文件操作 上传文件夹一般要打开一个本地窗口,从窗口选择本地文件添加.所以一般会卡在如何操作本地窗口添加上传文件. 其实,在selenium webdriv ...

  6. iOS 处理方法中的可变參数

    ## iOS 处理方法中的可变參数 近期写了一个自己定义的对话框的demo,想模仿系统的UIAlertView的实现方式.对处理可变參数的时候,遇到了小问题,于是谷歌了一下.写下了处理问题的方法.记录 ...

  7. HDU 3468 Treasure Hunting(BFS+网络流之最大流)

    题目地址:HDU 3468 这道题的关键在于能想到用网络流.然后还要想到用bfs来标记最短路中的点. 首先标记方法是,对每个集合点跑一次bfs,记录全部点到该点的最短距离.然后对于随意一对起始点来说, ...

  8. Zookeeper 编程

    ZooKeeper编程(一) 杂记 ZooKeeper的用途:distributed coordination;maintaining configuration information, namin ...

  9. ADO.NET FOR MySQL帮助类

    using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...

  10. 遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包

    List<PDFPATH> pdfpath = new List<PDFPATH>(); List<string> ziplist = new List<st ...