VS实用调试技巧

1. 什么是bug?

   “Bug” 的本意是“昆虫”或“虫子”,在计算机领域,指的是系统或程序中隐藏的缺陷或问题,即程序漏洞。这个词的由来与格蕾丝·赫柏(Grace Murray Hopper)有关。1947年9月9日,她与技术人员在调试 Harvard Mark II 计算机时,发现有一只飞蛾卡在继电器的触点之间,导致系统停止工作。赫柏将此问题记录为“Bug”,因此“Bug”这个词从此用于指代程序中的错误。

2. 什么是调试?

调试(debug)是发现并修复程序错误的过程。当程序出现问题时,程序员需要通过调试工具或手段找出问题所在,并进行修复。调试的关键步骤包括:

  1. 承认程序有问题。
  2. 逐过程分析,或屏蔽部分代码定位问题。
  3. 找到问题后修复代码并重新测试。

3. debug和release

Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序; 程序员在写代码的时候,需要经常性的调试代码,就将这⾥设置为 debug ,这样编译产⽣的是 debug 版本的可执⾏程序,其中包含调试信息,是可以直接调试的。
Release 称为发布版本,它往往是进⾏了各种优化,使得程序在代码⼤⼩和运⾏速度上都是最优的, 以便⽤⼾很好地使⽤。当程序员写完代码,测试再对程序进⾏测试,直到程序的质量符合交付给⽤⼾使⽤的标准,这个时候就会设置为 release ,编译产⽣的就是 release 版本的可执⾏程序,这个 版本是⽤⼾使⽤的,⽆需包含调试信息等。

                                                            release版本和debug版本的对⽐

对⽐可以看到从同⼀段代码,编译⽣成的可执⾏⽂件的⼤⼩,release版本明显要⼩,⽽debug版本明 显⼤。

4. VS调试快捷键

4.1准备环境

     ⾸先是环境的准备,需要⼀个⽀持调试的开发环境,我们通常使⽤VS,应该把VS上设置为Debug,如 图:

4.2 调试快捷键

1. 窗口相关快捷键

  • Ctrl + W, W: 浏览器窗口
  • Ctrl + W, S: 解决方案管理器 (Solution)
  • Ctrl + W, C: 类视图 (Class)
  • Ctrl + W, E: 错误列表 (Error)
  • Ctrl + W, O: 输出窗口 (Output)
  • Ctrl + W, P: 属性窗口 (Property)
  • Ctrl + W, T: 任务列表 (Task)
  • Ctrl + W, X: 工具箱
  • Ctrl + W, B: 书签窗口 (Bookmark)
  • Ctrl + W, U: 文档大纲 (Outline)
  • Ctrl + D, B: 断点窗口 (Breakpoint)
  • Ctrl + D, I: 即时窗口 (Immediate)

2. 项目功能快捷键

  • Ctrl + F6 / Ctrl + Tab: 下一个文档窗口
  • Ctrl + Shift + F6 / Ctrl + Shift + Tab: 上一个文档窗口
  • F7: 查看代码
  • Shift + F7: 查看窗体设计器
  • Ctrl + Shift + N: 新建项目 (New)
  • Ctrl + Shift + O: 打开项目 (Open)
  • Ctrl + Shift + C: 显示类视图窗口 (Class)
  • Ctrl + F4: 关闭文档窗口
  • Ctrl + Shift + E: 显示资源视图 (Explorer)
  • Ctrl + Shift + B: 生成解决方案 (Build)
  • Shift + F6: 生成当前项目
  • F4: 显示属性窗口
  • Shift + F4: 显示项目属性窗口
  • Ctrl + Shift + S: 全部保存 (Save)
  • Ctrl + Shift + A: 新建项 (Add)
  • Shift + Alt + C: 新建类 (Class)

3. 查找相关快捷键

  • Ctrl + F: 查找 (Find)
  • Ctrl + Shift + F: 在文件中查找
  • F3: 查找下一个
  • Shift + F3: 查找上一个
  • Ctrl + H: 替换
  • Ctrl + Shift + H: 在文件中替换

4. 代码快捷键

  • Ctrl + E, D / Ctrl + K, D: 格式化全部代码
  • Ctrl + E, F: 格式化选中代码
  • Ctrl + K, C: 注释选定内容 (Comment)
  • Ctrl + K, U: 取消注释 (Uncomment)
  • Ctrl + J / Ctrl + K, L: 智能提示 (List)
  • Ctrl + K, P: 参数信息 (Parameters)
  • Ctrl + K, I: 快速查看信息 (Information)
  • Ctrl + K, S: 折叠代码区域 (#region)
  • Ctrl + M, M: 折叠/展开当前方法
  • Ctrl + M, O: 折叠所有方法
  • Ctrl + M, L: 展开所有方法
  • Ctrl + Shift + F10: 自动添加using命名空间

5. 调试快捷键

  • F5: 启动调试
  • Ctrl + F5: 开始执行 (不调试)
  • Shift + F5: 停止调试
  • Ctrl + Shift + F5: 重启调试
  • F9: 启用/关闭断点
  • Ctrl + F9: 停止断点
  • Ctrl + Shift + F9: 删除全部断点
  • F10: 逐过程
  • Ctrl + F10: 运行到光标处
  • F11: 逐语句

6. 编辑快捷键

  • Shift + Alt + Enter: 切换全屏编辑
  • F12: 转到定义
  • Alt + F12: 查找符号
  • Shift + F12: 查找所有引用
  • Ctrl + U: 全部变为小写
  • Ctrl + Shift + U: 全部变为大写
  • Ctrl + Shift + V: 剪贴板循环
  • Ctrl + Shift + L: 删除当前行
  • Ctrl + G: 转到指定行
  • Ctrl + E, S / Ctrl + R, W: 查看空白符
  • Ctrl + E, W: 自动换行

 5. 监视和内存观察

在调试的过程中我们,如果要观察代码执⾏过程中,上下⽂环境中的变量的值,有哪些⽅法呢?
这些观察的前提条件⼀定是开始调试后观察,⽐如:
#include <stdio.h>
int main()
{
 int arr[10] = { 0 };
 int num = 100;
 char c = 'w';
 int i = 0;
 for (i = 0; i < 10; i++)
 {
 arr[i] = i;
 }
 return 0;
}

5.1 监视

开始调试后,在菜单栏中【调试】->【窗⼝】->【监视】,打开任意⼀个监视窗⼝,输⼊想要观察的对 象就⾏。
打开监视窗⼝:

在监视窗⼝中观察:

5.2 内存

如果监视窗⼝看的不够仔细,也是可以观察变量在内存中的存储情况,还是在【调试】->【窗⼝】->【内存】 打开内存窗⼝:

在内存窗⼝中观察数据:   

在打开内存窗⼝后,要在地址栏输⼊:arr,&num,&c,这类地址,就能观察到该地址处的数据。  

除此之外,在调试的窗⼝中还有:⾃动窗⼝,局部变量,反汇编、寄存器等窗⼝,⾃⾏验证使⽤⼀
下。

6.编程常⻅错误归类

6.1 编译型错误

编译型错误⼀般都是语法错误,这类错误⼀般看错误信息就能找到⼀些蛛丝⻢迹的,双击错误信息也 能初步的跳转到代码错误的地⽅或者附近。编译错误,随着语⾔的熟练掌握,会越来越少,也容易解 决。

6.2 链接型错误

看错误提⽰信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。⼀般是因为
标识符名不存在
拼写错误
头⽂件没包含
引⽤的库不存在

6.3 运⾏时错误

运⾏时错误,是千变万化的,需要借助调试,逐步定位问题,调试解决的是运⾏时问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值