Visual Studio 2022 程序员必须知道高效调试手段与技巧(中)

简介: Visual Studio 2022 程序员必须知道高效调试手段与技巧(中)

📋 前言

  🌈hello! 各位宝子们大家好啊,上一章给大家介绍了 Visual Studio 2022 快捷键和 版本介绍,今天就来给大家来点干货

  ⛳️今天来正式来调试环节,带大家一起看一下在调试时如何查看程序中临时变量的值以及调用堆栈和内存信息等 !

  📚本期文章收录在《学习工具》,大家有兴趣可以看看呐

  ⛺️ 欢迎铁汁们 ✔️ 点赞 👍 收藏 ⭐留言 📝!

🔥 注:前一篇文章在这里《高效调试手段与技巧(上)》

💬 调试的时候查看程序当前信息

💭 查看临时变量的值

在调试开始之后,用于观察变量的值。我们只需要选中监视窗口就可以查看我们程序在运行中的值了,从而块速排查错误!

  • 一旦发现储存的值和我们预期的不一样就可以进行
  • 更改我们的代码从而快速找到错误

8f35b504afe5446bbfb4972d58c12414.png

把监视窗口打开之后,就可以输入变量名去监视我们的变量值了!

22371985808a4da7a75623fd88be05dc.png

💭 查看内存信息

内存的窗口调用和监视是一样,内存窗口可以让我们查看在内存中一个数据是怎么存储的,提供了一个比较好的交互界面!

ea723fe542fb40fd9f98f38e18a12c04.png

到了这里就需要我们给编辑器一个地址了,这样它才能找到我们需要找到变量的地址。去观察它的内存分布情况,还可以把要观察的列设置为我们想要观察的数量

  • int 类型的变量占4个字节所以我们就只观察4列
    -== 在这里一列代表一个字节==

6b6f082f53c34d5596d9a497a081d89d.png

d884ec7504dd44828120902866cc1e7a.png

💻 调试实例:为什么变量不初始化是随机值

我们在创建临时变量的时候如果没有进行初始化,打印出来就是随机值,而有了内存观察我们就可以看到为什么临时变量不赋值是初始值了!

  • 因为我们临时变量是在栈空间的,所以一些临时变量
  • 出了自己的作用域就会销毁,但值不会改变只是把空间还给操作系统
  • 而我们一旦新开辟的临时变量在原来用过的地址上创建的
  • 那么就会是原来空间的值所以是随机的!

🔥 注:关于栈空间和 其他空间我们在 《C/C++内存分配的几个区域》有详细讲解!

0f4d7bd602684b3cad387c9be456eb68.png

这里我们就可以看到栈区的有些空间是随机值,所以在创建变量的时候一定要赋初值

💭 查看调用堆栈

调用堆栈这方面的功能我们在函数栈帧的创建于销毁,还有数据结构 空间复杂度是可以帮助我们很好的理解栈区和堆区的空间消耗和调用的!

  • 这里可以反应的是我们函数的调用关系逻辑
  • 数据结构里面的栈 就和我们调用堆栈差不多

13478d5cdace44d68761ffd9904dfdc0.png

22a4cd00a3c44eb1a4d5c14b3ff77b8f.png

💭 查看汇编信息

  ⛳️ 这里面可以查看我们程序在转换成汇编代码是怎么样的?比如函数调用时怎么样的啊! for循环的转换成功汇编的代码是什么都可以观察!

dbcaa4149ecc4f82929fe3c05ea1c8ed.png

82d2d90f53454e69ba943748aa133d08.png

💭 查看寄存器信息

这里就可以观察我们程序在运行时寄存器的变化!

e836f40d8e0b497e892785ea109193be.png

e7dd72bb853343f9a613479a20497abf.png

💬 多多动手,尝试调试,才能有进步

好了到了这里常用的调试技巧就个大家讲解完了,但是光看还不行我们程序出现问题一定要多去调试。这样才能知道问题到底出在哪里,以后及时避免!

  • 一定要熟练掌握调试技巧。
  • 初学者可能80%的时间在写代码,20%的时间在调试。但是一个程序员可能20%的时间在写程序,但是80%的时间在调试。
  • 我们所讲的都是一些简单的调试。
  • 以后可能会出现很复杂调试场景:多线程程序的调试等。
  • 多多使用快捷键,提升效率。

📝全篇总结

✅ 归纳:

☁️ 关于调试的技巧我们讲完了,下一篇就给大家讲讲一些调试实例,只有用起来才会真正学会!

看到这里了还不给博主扣个:
⛳️ 点赞☀️收藏 ⭐️ 关注

💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖

拜托拜托这个真的很重要!

你们的点赞就是博主更新最大的动力!

有问题可以评论或者私信呢秒回哦。

2fa02dff54c24f75a68f419c86cf25b5.png

目录
相关文章
|
9月前
|
存储 程序员 编译器
Visual Studio 2022 程序员必须知道高效调试手段与技巧(下)终章
Visual Studio 2022 程序员必须知道高效调试手段与技巧(下)终章
84 0
|
1天前
|
IDE 测试技术 项目管理
集成开发环境(IDE)的使用:提升Visual Basic开发效率的工具和技巧
【4月更文挑战第27天】本文探讨了如何使用Visual Basic IDE提升开发效率,包括理解IDE组件、利用代码编辑器的智能功能、通过界面设计器设计GUI、使用调试和测试工具、有效管理项目与版本控制、掌握快捷键和宏、定制IDE以及利用学习资源。通过充分利用这些工具和技巧,开发者能更快地编写高质量代码,高效管理项目,从而提升整体开发效率。随着IDE的持续发展,开发者应不断学习新特性以适应进步。
|
7月前
|
IDE Java 程序员
Eclipse 不为人所知的另一面 - 企业管理软件领域 ABAP 编程语言开发利器(下)
Eclipse 不为人所知的另一面 - 企业管理软件领域 ABAP 编程语言开发利器
34 1
|
9月前
|
程序员 C++ Windows
Visual Studio 2022 程序员必须知道高效调试手段与技巧(上)
Visual Studio 2022 程序员必须知道高效调试手段与技巧(上)
168 0
|
9月前
Visual Studio(管理代码工具)如何使用
1.连接到远程仓库 2.找到对应的代码库克隆到本地 3.选分支
|
人工智能 前端开发 JavaScript
提高Java开发效率:5个常用的Visual Studio代码扩展工具
对于软件工程师来说,能够更好地管理时间是一项宝贵的技能。因此,这里有5个Visual Studio代码扩展工具,可以帮助前端开发人员(以及更多的人!)将生产力至少提高10%到20%,下面和小编一起来看看吧!
188 0
提高Java开发效率:5个常用的Visual Studio代码扩展工具
|
存储 SQL IDE
Eclipse 不为人所知的另一面 - 企业管理软件领域 ABAP 编程语言开发利器(一)
对于 Java 从业人员来说,无论是刚入门的新手还是专家,肯定都正在或者曾经使用过 Eclipse,这是一款优秀的编写 Java 程序的 IDE.
235 0
Eclipse 不为人所知的另一面 - 企业管理软件领域 ABAP 编程语言开发利器(一)
|
IDE Java 开发工具
开发APP软件需要哪些编程语言和开发环境
对于刚刚进入APP软件开发领域的新手来说,根本就不知晓要选择什么编程语言和需要什么开发环境来开发APP软件,这时的就会面临许多的选择和建议。
500 0
Visual Studio下程序开发: VS2017调试卡住问题
Visual Studio下程序开发: VS2017调试卡住问题
227 0
Visual Studio下程序开发: VS2017调试卡住问题
|
XML JavaScript 前端开发
DevEco Studio 2.0,为跨端应用“高效开发”设计
DevEco Studio 2.0,为跨端应用“高效开发”设计
DevEco Studio 2.0,为跨端应用“高效开发”设计