【VS IDE篇】–Windows系统下调试(基于VS IDE):调试常用快捷键、Debug版本和Release版本区别、查看内存和堆栈等信息、常见错误类型简介

勤奋不是嘴上说说而已,而是实际的行动,在勤奋的苦度中持之以恒,永不退却。业精于勤,荒于嬉;行成于思,毁于随。在人生的仕途上,我们毫不迟疑地选择勤奋,她是几乎于世界上一切成就的催产婆。只要我们拥着勤奋去思考,拥着勤奋的手去耕耘,用抱勤奋的心去对待工作,浪迹红尘而坚韧不拔,那么,我们的生命就会绽放火花,让人生的时光更加的闪亮而精彩。

导读:本篇文章讲解 【VS IDE篇】–Windows系统下调试(基于VS IDE):调试常用快捷键、Debug版本和Release版本区别、查看内存和堆栈等信息、常见错误类型简介,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源: 原文

🎉此文是以vs2019来讲解,但其他vs版本的调试也大同小异

  • about visual studio :是一个集成开发环境,即IDE,集成以下内容:
    • 编辑器
    • 编译器
    • 调试器–🕵️‍♂️本文讲解的有关调试器的相关知识

补充:🎉LInux系统下的编译器:gcc,调试:gdb

调试常用快捷键

🌞注意:F10、F9、F11等在笔记本上需要配合Fn一起使用

快捷键 作用
Ctrl+F5 开始执行代码(不调试,遇到断点也不会停下)
F5 启动调试,每按一次就跳到下一个断点,一般和F9配合使用
F9 设置和取消断点
F10 逐过程调试(遇到函数不进入)
F11 逐语句调试(遇到函数会进入,可查看函数细节)

🥙关于断点:常用于:多行、跨文件的情况。
🚍用F5+F9配合,可以实现调试过程中的跳转,实现从一个文件跳转到另一个文件(包含关系),观察其内部细节。
在这里插入图片描述

😜也可以从下面窗口查看对应快捷键:
在这里插入图片描述

Debug版本和Release版本区别

🚌Debug版本

  • 称为调试版本,是程序员写代码,找bug的版本
  • 包含调试信息,不做优化

🎊Release版本

  • 称为发布版本,是程序写好后,发布出去,供用户使用的版本。(不能进行调试)

🕵️‍♀️注意:

  1. 测试人员测试的就是Release版本
  2. Release版本不可以调试

查看调试过程中相关信息

🥓接下来会从以下几个方面去讲解:
🥁注意🥁:以下标记内容只有在程序处于调试状态才可以(不是运行状态),即按下(F5\F11\F10)后处于调试状态,才会有这些选项,通过这些选项,我们可以去观察调试过程中的一些信息。
在这里插入图片描述

1.监视(Watches)

在这里插入图片描述
🎉最常用,使用起来也很方便:
在这里插入图片描述

  • 🎉Tips:数组名,数字arr,3,可以显示指定元素个数和内容

2.内存

在这里插入图片描述

3,反汇编:查看汇编代码

在这里插入图片描述

4,查看调用堆栈–查看函数的调用情况

  • 🥗本质用栈的结构模拟出的函数调用情况
    在这里插入图片描述

一个死循环案例分析

🥞在Windows系统,vs2019的IDE上有以下一段代码出现死循环,分析其原因

int main()
{
	int i = 0;
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	for (i = 0; i < 13; i++)
	{
		arr[i] = 0;
		printf("1\n");
	}
	return 0;
}

🛵程序运行结果:死循环打印:1
😊分析
首先在这个Win系统下,X86,有以下前提条件:
内存分为:

  1. 栈区–>存放局部变量
  2. 堆区
  3. 静态区

🚤栈区存储局部变量的特点

  • 😜:先使用高地址空间,再使用低地址空间。

所以在上述代码中栈区内存是这样的:(数组越界,修改了i的值)
在这里插入图片描述

错误类型简介

🥙一个编译型程序程序想要运行要经过三个步骤

  1. 编译
  2. 链接
  3. 运行—-调试:解决的就是运行时出现的错误

🥙每一个阶段,都有可能发生错误,由此我们将错误简单分为以下三类:

🥚编译型错误:

  • 🚐是检查语法错误,若有错误,编译不通过。

🍿链接错误

  • 链接,是指调用一些函数,比如#include<stdio.h>这个.h文件中包含了一些库函数,如果在代码里面没有加上这个,就会出现连接错误。还有,调用函数时,如果函数名写错,也会出现链接错误。一般这种错误描述为:无法解析的外部符号

🚲运行错误:死循环、没有得到预期运行结果、栈溢出…

  • 在运行的时候才发生错误,需要通过调试来定位错误,从而发现错误并且解决。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142468.html

(0)
飞熊的头像飞熊bm
0 0

相关推荐

  • mybatis基础 01 技术随笔

    mybatis基础 01

    0 0203
    小半的头像 小半
    2023年1月15日
  • Git生成生成公钥和私钥 技术随笔

    Git生成生成公钥和私钥

    0 0202
    小半的头像 小半
    2023年1月26日
  • 面向对象和面向过程的区别 技术随笔

    面向对象和面向过程的区别

    0 0187
    seven_的头像 seven_
    2023年2月22日
  • 程序员DD的空间地址 技术随笔

    程序员DD的空间地址

    0 0119
    小半的头像 小半
    2023年1月12日
  • 开源地图库OpenLayers的简单使用 技术随笔

    开源地图库OpenLayers的简单使用

    0 0187
    小半的头像 小半
    2024年2月25日
  • 【RabbitMQ教程】第三章 —— RabbitMQ – 发布确认 技术随笔

    【RabbitMQ教程】第三章 —— RabbitMQ – 发布确认

    0 0276
    飞熊的头像 飞熊
    2023年8月14日
  • docker 安装 mysql 技术随笔

    docker 安装 mysql

    0 0172
    小半的头像 小半
    2024年2月18日
  • SpringMVC学习笔记【part4】响应数据类型 技术随笔

    SpringMVC学习笔记【part4】响应数据类型

    0 0169
    小半的头像 小半
    2023年1月29日
  • springmvc之创建web项目 技术随笔

    springmvc之创建web项目

    0 0153
    小半的头像 小半
    2023年2月2日
  • 【正则表达式】正则表达式匹配的匹配问题 贪婪问题 技术随笔

    【正则表达式】正则表达式匹配的匹配问题 贪婪问题

    0 0173
    Java光头强的头像 Java光头强
    2023年2月19日
  • Django Rest Framework 5:关系和超链接API 技术随笔

    Django Rest Framework 5:关系和超链接API

    0 0157
    小半的头像 小半
    2023年2月11日
  • mysql备份与恢复 技术随笔

    mysql备份与恢复

    0 0514
    小半的头像 小半
    2023年1月16日

发表回复

登录后才能评论

扫我!扫我!扫码!

【VS IDE篇】--Windows系统下调试(基于VS IDE):调试常用快捷键、Debug版本和Release版本区别、查看内存和堆栈等信息、常见错误类型简介

站长精选

  • SpringBoot+ThreadPoolTaskScheduler,定时任务还可以这么玩~

    SpringBoot+ThreadPoolTaskScheduler,定时任务还可以这么玩~

    2024年2月1日

  • 盘点10条最值得你了解的 Java17 新特性

    盘点10条最值得你了解的 Java17 新特性

    2023年7月12日

  • 一款高颜值、高性能、高扩展性的物联网平台

    一款高颜值、高性能、高扩展性的物联网平台

    2024年7月7日

  • 简洁、安全、高效的企业级 SpringBoot 开发平台,非常牛X

    简洁、安全、高效的企业级 SpringBoot 开发平台,非常牛X

    2024年2月24日

  • 一款开源的企业培训软件考试系统

    一款开源的企业培训软件考试系统

    2024年6月30日

  • 快速实现JVM调优,快试试这款牛逼的GC日志分析工具吧!

    快速实现JVM调优,快试试这款牛逼的GC日志分析工具吧!

    2022年12月14日

  • 让 ChatGPT 帮我们CRUD、重构代码、修BUG!

    让 ChatGPT 帮我们CRUD、重构代码、修BUG!

    2023年4月17日

  • 一种非侵入式的接口幂等性实现方案,非常优雅!

    一种非侵入式的接口幂等性实现方案,非常优雅!

    2022年12月26日

  • 高效方案:30万条数据插入 MySQL 仅需13秒

    高效方案:30万条数据插入 MySQL 仅需13秒

    2023年5月20日

  • 七张图解锁Mybatis整体脉络,让你轻松拿捏面试官

    七张图解锁Mybatis整体脉络,让你轻松拿捏面试官

    2023年10月30日

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!

玻璃钢生产厂家梅州玻璃钢园林雕塑施工工程喷泉雕塑青蛙玻璃钢雕塑福建多彩玻璃钢雕塑批发性能可靠的玻璃钢雕塑北欧玻璃钢花盆黑龙江景区玻璃钢雕塑厂家广州增城玻璃钢雕塑安陆玻璃钢雕塑崇左玻璃钢雕塑价格湖里园林玻璃钢雕塑直销胶泥雕塑和玻璃钢厦门阳江玻璃钢卡通雕塑株洲卡通人物玻璃钢雕塑设计泰佳玻璃钢花盆德州玻璃钢广场卡通雕塑公司玻璃钢雕塑彩绘用什么材料优质的商场美陈花器湖南景观玻璃钢雕塑玻璃钢雕塑制作设计哪里有龙井市政用玻璃钢花盆商场卡通ip美陈河南佛像玻璃钢雕塑制作榆林仿铜玻璃钢雕塑定做北京欧式玻璃钢雕塑制作青岛玻璃钢花盆有哪些玻璃钢雕塑维护保养中山新款玻璃钢面包雕塑黑龙江四大天王玻璃钢雕塑制作商场九周年美陈现代玻璃钢卡通雕塑报价表香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化