2025年lvcreate命令i I(lvcreate命令全部参数)

lvcreate命令i I(lvcreate命令全部参数)VS2019 实用调试技巧 1 debug 和 release 的区别 2 调试 1 调试最常使用的几个快捷键 2 用监视窗口查看临时变量的值 3 查看内存信息 4 查看调用堆栈 5 查看汇编信息 6 查看寄存器信息 3 如何写出易于调试 好的代码 4 编程中常见错误 VS 集成开发环境上方有一个选项为 Debug 表示这是代码的 Debug 版本 可以将其改为 Release

大家好,我是讯享网,很高兴认识大家。



VS2019实用调试技巧

  • 1.debug和release的区别
  • 2.调试
  • (1)调试最常使用的几个快捷键
  • (2)用监视窗口查看临时变量的值
  • (3)查看内存信息
  • (4)查看调用堆栈
  • (5)查看汇编信息
  • (6)查看寄存器信息
  • 3.如何写出易于调试/好的代码
  • 4.编程中常见错误

VS集成开发环境上方有一个选项为Debug,表示这是代码的Debug版本,可以将其改为Release,表示这是代码的Release版本,那么Debug版本和Release版本有什么区别吗?

vs_community2019_visual studio
讯享网

vs_community2019_c语言_02

Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。

Release 称为发布版本,编译器对我们写的代码进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用,Release版本不能调试。

例:请看下面代码:

Debug版本下运行,该程序会出现死循环,即无限输出hehe,这是为什么呢?

vs_community2019_visual studio_03

在vs2019环境下,变量i和arr相差两个整型,不同环境可能不一样,现在知道了局部变量i和arr的内存分配情况,我们先回归到代码。

由代码可知,从arr[10]开始越界访问,虽然对于程序而言arr[10]不存在,属于越界访问,但是对于实际内存而言,arr[10]就是arr[9]后面的一个位置,是真实存在的,因此可以将arr[10]赋值为0,同时也可以将arr[11]赋值为0,但是当访问到arr[12]的时候,由上面的内存分配图我们可以知道arr[12]实际上就是i,将arr[12]赋值为0,实际上就是将i赋值为0,因此i满足for循环条件,又会进入到下一轮循环,当i==12,再次访问到arr[12],将arr[12]赋值为0时,实际上又是将i赋值为0,又会进入下一轮的循环,因此这样下去就是无限死循环输出hehe。

那么在Release版本下,代码是怎么运行的呢?

vs_community2019_开发语言_04

vs_community2019_c语言_05

vs_community2019_c++_06

由此可见Release版本的确会对代码进行优化,不过这种优化是底层的优化,比如这里对内存空间的开辟顺序进行了优化,而且这种优化并不会改变你的代码。

vs_community2019_开发语言_07

F9:
创建断点和取消断点。
断点的重要作用:可以在程序的任意位置设置断点。这样就可以使得程序运行到断点的位置停止执行,继而开始调试,一步步执行下去。
F9和F5是配合使用的。

vs_community2019_开发语言_08

vs_community2019_visual studio_09

vs_community2019_c++_10

vs_community2019_vs_community2019_11

vs_community2019_visual studio_12

vs_community2019_c++_13

vs_community2019_c++_14

vs_community2019_c语言_15

vs_community2019_开发语言_16

vs_community2019_开发语言_17

优秀的代码:

  1. 代码运行正常
  2. bug很少
  3. 效率高
  4. 可读性高
  5. 可维护性高
  6. 注释清晰
  7. 文档齐全

常见的coding技巧:

  1. 使用assert
  2. 尽量使用const
  3. 养成良好的编码风格
  4. 添加必要的注释
  5. 避免编码的陷阱。
  • 编译型错误:都是语法错误引起的,直接看错误提示信息(双击),解决问题。或者凭借经验就可以搞定。相对来说简单。
  • 链接型错误:看错误提示信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。一般是标识符名不存在或者拼写错误。
  • 运行时错误:借助调试,逐步定位问题。最难搞。

小讯
上一篇 2025-04-20 18:34
下一篇 2025-05-29 08:07

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/195300.html