当前位置:网站首页>调试方法和技巧详解
调试方法和技巧详解
2022-06-30 09:36:00 【菠萝猫yena】
推荐一个软件,禅定空间,放下手机,珍惜时间,为未来搏一搏,为了未来美好的生活,冲鸭!!!!
前言
代码中的bug难以避免,尤其是能运行但结果不对的时候,简直让人痛不欲生 罒ω罒 。调试,是一个程序员必须具备,并且勤加练习,以熟练掌握的技能。本章将介绍代码调试的方法和技巧。一定要多见见世面,观察别人的优秀代码,多写多练呀!
提示:以下是本篇文章正文内容,下面案例可供参考
1. 什么是调试
调试,英文名Debug,即除错,是发现和减少程序中的错误的过程。本文用的编译软件是VS,带着大家如何发现并改正错误。
2. 调试步骤
调试步骤分为:发现错误,对错误进行定位,分析错误产生的原因,解决错误,重新调试。这里,大家一定要注意,我们的思维要严谨,不能乱改,有步骤,有预测地对程序进行分析才会提升我们的动手和思维能力。
2.1 发现错误
程序中的错误有以下几类。
2.1.1 编译型错误
也称语法错误,我们可能粗心地少写一个冒号,多加了一个括号,这个错误最为简单,程序会标出错误所在的行数,我们进行改正即可。
2.2.2 链接型错误
从代码到可执行程序,需要经过编译到链接的阶段,一般的链接型错误为:无法解析的外部符号,分为未定义标识符或者标识符书写错误两种情况。

此时,若未标记错误所在位置,可通过Ctrl+f,输入待查找的部分,就能获取代码的位置。
2.1.3 运行时错误
最让人头疼的错误,编译没问题,可就不是想要的结果,这个时候,如果找错误太困难,就需要一步步调试来找出错误。
2.2 调试环境准备
2.2.1 debug 与 release
在下图,我们能观察到,编译环境有debug与release两种。
接下来,我们介绍两种环境的功能。
debug ,测试版本。为程序员使用,包含各种调试信息,支持程序员及测试人员发现错误并一步步调试程序。
release ,发布版本,为用户使用,保证速度大小最优,方便用户使用,没有调试信息,不允许调试。
如下图所示,同一个程序,release版本比debug版本所占的内存要小很多。

2.2.2 调试所需的快捷键介绍
2.2.2.1 F5,启动调试
一般与F9组合使用。如下图所示,按F5,如果只是调节亮度的话,需要fn键与f5一起使用,才会显示f5键原本功能。
2.2.2.2 F9,创建取消断点
断点的作用为,有了断点之后,点击F5会使调试直接跳到下一个断点处,目的是跳过确定没问题的代码段,只调节可能出现错误的代码段。
实战操作如下
在43行打了一个断点,按一次F5,可使代码调试直接从main跳到第43行。

2.2.2.3 F10,一步一步观察
依次点击 调试–>窗口–>监视–>选择监视窗口–>输入想观察的变量–>回车,即可在调试过程中,观察相关变量的变化。这是调试的关键。我们一定要头脑清晰,清楚每一步,变量会有什么变化。一旦变量的变化与预期不符,我们就能发现错误。
按动F10,观察i的变化
按动F10后,观察j的变化。
2.2.2.4 F11,进入到函数内部
如下图所示,在遇到函数时,按动F10,不会进入到函数内部
按动F10后,直接跳到下一行代码,不进入函数。
此时,若需要进入函数内部观察,就要按动F11进入函数内部。
按动F11后,进入Display函数内部观察。
另外,若只是运行程序不进行调试,则可通过Ctrl+F5运行。
3.了解F1-F12快捷键原始功能
3.1 F1,Help
F1属于帮助按键,当打开软件发现不会用,按F1键可以呼出使用说明视窗,可以观看使用手册。
3.2 F2,重命名
当选择一个档案、文件、资料夹时,选中任意一个文件,按下F2都可以启用重命名,这个功能还是相当方便的,
3.3 F3,寻找
当在网上看榜单,千百笔资料让人眼花缭乱,大多数的人都会用Ctrl+F键,其实只要按F3键,浏览器就会弹出“搜索视窗”,通过搜索关键词,可以帮助我们快速寻找。当你需要精确查找某个文件时,不需要繁琐的去打开某个界面,F3可以一键调出某个搜索界面
3.4 F4,地址栏表单
许多人都知道Alt+F4可关闭已经打开的串口,不过F4在IE浏览器及档案管理都可以开启地址栏,方便回顾之前到访的资料夹,网页。
3.5 F5,刷新
适用于所有浏览器和桌面等部分程序
3.6 F6,地址栏
按下该键可以快速将贯标达到地址栏,方便快速输入URL。
3.7 F7,特别功能
其实F7键在Windows系统上没有特殊功能,不过在文书处理程式,如Word、Excel时,按下可以检查愈发错误,进行拼写检查。
3.8 F8,安全模式
当电脑发生问题,无法进入Windows系统时,可在开机时不断按F8键,进入电脑安全模式。进入安全模式,可以解决一些电脑疑难问题,不过如果不懂电脑,建议不要乱进。
3.9 F9,特别功能
F9键在Windws系统上也没有特殊功能,不过一样在文书处理程式Word中能重整文件、收件软件Outlook中可以重新首发邮件及Windows播放器Medis Player有调低音量功能。
3.10 F10,功能列表
F10键可以快速打开功能列表,其配合Shift键可打开鼠标右键快捷菜单。在Windows播放器Media Player有调高音量功能。
此外,在电脑bios设置中,设置完成后,按F10键可以保存当前设置。
3.11 F11,全屏幕
把视窗或浏览器以全屏幕显示,可以按F11键。
3.12 F12
在windows中没有任何作用。但在word中,按下它会快速弹出另存为文件的窗口;
总结
刚开始接触调试,肯定会有不熟悉的地方,熟能生巧,不能放弃,量变很快就能产生质变。为了我们的未来,继续冲呀!!!!
边栏推荐
- Installing Oracle database process in windows2007 on VM
- [ubuntu-mysql 8 installation and master-slave replication]
- 2021-11-15
- 一些国内镜像源
- Redis docker master-slave mode and sentinel
- Add / delete query of topic
- Xlnet (generalized autorefressive trainingfor language understanding) paper notes
- Eight sorts (II)
- prometheus 监控之 ntp_exporter
- Plan the IT technology route for the new year? Let's learn about Gartner infrastructure hype cycle
猜你喜欢

机械臂速成小指南(四):机械臂关键部件之减速机
![[JVM] brief introduction to CMS](/img/4e/df4a193eed39438f808059f67f19a1.png)
[JVM] brief introduction to CMS

【新书推荐】Cleaning Data for Effective Data Science

G 代码解释|最重要的 G 代码命令列表

Hospital integration platform super fusion infrastructure transformation scheme

7.手机登陆功能开发

Cloud native database

JVM garbage collector G1 & ZGC details

Flutter 中的 ValueNotifier 和 ValueListenableBuilder

MySQL internal component structure
随机推荐
Eight sorts (II)
MySQL explain
Use and description of event delegation
Appium自动化测试基础 — adb shell 命令
7.手机登陆功能开发
Practice of super integration and transformation of core production business of public funds
Cloud native database
云技能提升好伙伴,亚马逊云师兄今天正式营业
Slf4j: failed to load class "org.slf4j.impl.staticloggerbinder"
事件流的说明》
1. Basic configuration
JUL简介
Ocx control can be called by IE on some computers, but can not be called by IE on some computers
Difference between bow and cbow
Work notes: SendTo failed errno 22
Techtarget: Interpretation of the basic concept of super fusion cloud
Application exploration and practice of super convergence in the production environment of insurance industry
Eight sorts (I)
Follow the wechat oauth2.0 access scheme
utlis 内存池 对象池