Noip2013调试技巧
关于调试技巧,个人觉得还是很重要的,于是把自己之前写过的总结拿出来,修修补补再复习一下。
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调试技巧的更多相关文章
- 【工具】VS2010常用调试技巧(1)
调试是一个程序员最基本的技能,其重要性不言自明.不会调试的程序员就意味着他即使会一门语言,却不能编制出好的软件.本文就本人在开发过程中常用的调试技巧作下简单呢介绍,希望对大家有所帮助,能力超群者请绕道 ...
- Visual Studio高级调试技巧
1. 设置软件断点,运行到目标位置启动调试器 方法①:使用汇编指令(注:x64 c++不支持嵌入汇编) _asm 方法②:编译器提供的方法 __debugbreak(); 方法③:使用windows ...
- 【转】你所不知道的Android Studio调试技巧
这篇写Android studio debug技巧个人觉得写得不错,转自:http://www.jianshu.com/p/011eb88f4e0d# Android Studio目前已经成为开发An ...
- VS调试技巧,提高调试效率(转):
如果你还没有使用过这些技巧,希望这篇博文能帮你发现它们. 它们学起来很容易,能帮你节省很多时间. 运行到光标(Ctrl+ F10) 我经常看见人们是这样来调试应用程序的: 他们在应用程序需要调试的代码 ...
- iOS各种调试技巧豪华套餐
转载自http://www.cnblogs.com/daiweilai/p/4421340.html 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global Break ...
- xcode调试技巧
xode报错有时挺无厘头,完全不知道哪里出的问题,最后还得用排除法,记录一些工作中认为有用的调试技巧 1.左侧视图点断点视图,左下角点加号,选择exception breakpoint,类型选c++, ...
- 你所不知道的Android Studio调试技巧
转载:http://www.jianshu.com/p/011eb88f4e0d Android Studio目前已经成为开发Android的主要工具,用熟了可谓相当顺手.作为开发者,调试并发现bug ...
- Visual Studio原生开发的20条调试技巧(下)
我的上篇文章<Vistual Studio原生开发的10个调试技巧>引发了很多人的兴趣,所以我决定跟大家分享更多的调试技巧.接下来你又能看到一些对于原生应用程序的很有帮助的调试技巧(接着上 ...
- Visual Studio原生开发的10个调试技巧
这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧.我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧.(如果你是工作在托 ...
随机推荐
- crontab Linux定时器工具
要使用crontab定时器工具,必须要启动cron服务: service cron start crontab的语法,以备日后救急.先上张超给力的图: crontab各参数说明: -e : 执行文字编 ...
- jQuery 源码分析和使用心得 - 文档遍历 ( traversing.js )
jQuery之所以这么好用, 首先一点就是$()方法和它强大的选择器. 其中选择器使用的是sizzle引擎, sizzle是jQuery的子项目, 提供高效的选择器查询. 有个好消息告诉大家, 就是s ...
- sql语句操作记录
发觉一些sql语句写出来的时候不停忘记,做一个记录. mySQL .查看表的创建过程sql语句和注释,注释是在创建表的过程中增加comment,后面跟随注释的内容 SHOW CRATE TABLE T ...
- B2C 电商网站需要怎样的 ERP 系统
B2C 电商网站需要怎样的 ERP 系统 主要由如下一些系统组成:1.进销存系统,你的产品的采供销当然最好是由系统来实现:2.BI系统,BI包括所有的流量.订单.商品.库存.发货等所有数据节点,亦包含 ...
- selenium webdriver 学习笔记(三)
selenium webdriver 一.上传文件操作 上传文件夹一般要打开一个本地窗口,从窗口选择本地文件添加.所以一般会卡在如何操作本地窗口添加上传文件. 其实,在selenium webdriv ...
- iOS 处理方法中的可变參数
## iOS 处理方法中的可变參数 近期写了一个自己定义的对话框的demo,想模仿系统的UIAlertView的实现方式.对处理可变參数的时候,遇到了小问题,于是谷歌了一下.写下了处理问题的方法.记录 ...
- HDU 3468 Treasure Hunting(BFS+网络流之最大流)
题目地址:HDU 3468 这道题的关键在于能想到用网络流.然后还要想到用bfs来标记最短路中的点. 首先标记方法是,对每个集合点跑一次bfs,记录全部点到该点的最短距离.然后对于随意一对起始点来说, ...
- Zookeeper 编程
ZooKeeper编程(一) 杂记 ZooKeeper的用途:distributed coordination;maintaining configuration information, namin ...
- ADO.NET FOR MySQL帮助类
using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...
- 遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包
List<PDFPATH> pdfpath = new List<PDFPATH>(); List<string> ziplist = new List<st ...