”窗口“菜单下的”调用堆栈“ 命令来打开”调用堆栈“窗口,从下往上显示了函数的调用顺序;_visusl stdio调试c+">
当前位置:   article > 正文

C++代码调试,基于visual studio篇_visusl stdio调试c++

visusl stdio调试c++

利用visual studio开发工具进行C++代码调试的快速上手教程

1.断点管理:

端点设置按F9为鼠标所在行快速设置断点、右击红色断点可进一步设置,包括删除/禁用断点、条件(设置断点触发条件)、操作(设置当断点被触发后输出到工作台的语句,注意,设置了以后,程序运行到该断点将不会停止);
在这里插入图片描述
同时,选择"测试"->“窗口”->"断点"组件,会在软件左下角界面列出当前项目中设置的所有的断点,方便用户对断点进行集中管理,包括断点的标签、命中条件、命中次数、所属进程等属性;
在这里插入图片描述
代码调试:1.按F5快捷键启动代码调试,程序会运行到第一个断点停止,此时再按F5,程序会运行到下一个断点停止,按组合键Ctrl+Shift+F5会停止代码调试;2.调试过程中,按F11会逐语句运行程序(会进入函数内部)、3.按F10会过程运行程序(不会进入函数内部)、4.当位于函数内部时,按Shift+F11会跳出当前函数、5.运行到光标处:当程序运行到断点(93行)时,将鼠标停留在97行,然后右击->运行到光标出,或按Ctrl+F10快捷键,则程序会从93行运行到97行停止;
在这里插入图片描述

多次执行代码:当程序运行到95行时,如果拖动左边的黄色箭头,向上移动到93行,程序会从93行开始继续运行,从而重复运行部分代码,如果重复执行的代码里面有变量赋值等操作,可能影响后面程序的正常运行;
在这里插入图片描述
在这里插入图片描述

2.延伸内容

2.1快速监视:当程序处于调试模式时,通过在代码变量上右击鼠标,如下图所示,点击快速监视,可以看到该变量的取值情况,如下图中,可以将str1字符串中的取值进行更改,然后进行保存,然后在界面右下角的监听窗口、自动窗口中可以看到,该变量的取值已经发生变化。
在这里插入图片描述

在这里插入图片描述

2.2监听:除了快速监听外,我们也可以使用监听功能,通过在变量上右击鼠标,选择添加监听功能,就能在如下图所示的监听窗口中看到被监听的变量,也可以在这个窗口中搜索变量的名称来添加变量,进行监听;此外,监听窗口也不只一个,有多个,可以根据需求将不同类型的变量放入不同的监听窗口中,进行区分开来,在监听窗口中,我们可以对变量的取值进行更改,如何想在代码,通过控制变量的取值来触发某些情况,是非常便捷的、
在这里插入图片描述

2.3内存查看:当代码处于调试状态时,如果想查看字符串、对象指针的指向地址,可以通过”调试“->“窗口”->"内存"命令来打开内存窗口,然后在内存窗口中输入变量的名称(如str1)或者将变量拖动到内存窗口中,可以看到字符串变量在内存中的存储地址,如下图所示在str1="breakpoint"在内存中的起始地址为0x00000080FB59F5F8,一共占据了11个字节,每个字节存放一个字母,其结束符也占据一个字节的内存。
在这里插入图片描述

如果想查看其他类型变量的存储地址,如int a = 10的存储地址,要输入&a,如下图所示,这里面还涉及到计算机里面字节储存顺序的知识,计算机世界中,PowerPC采用的是大段的存储方式,把字节序的尾端放在高内存地址,X86是小端存储方式,把字节序的尾端存放在低内存地址。
在这里插入图片描述

2.4“局部变量窗口”和“自动”窗口:局部变量窗口可以查看的变量是当前执行函数的作用域范围内的所有变量,作用域是函数,包括函数的参数,以及函数级别的所有变量,如果变量是全局的,则不会再“局部变量”窗口中自动显示;自动窗口只能显示当前栈中的一些变量,比如在刚进入一个函数时,会显示这个函数的参数值以及全局变量,然后显示这个函数第一行代码所定义的变量,但是不会显示其他变量,自动窗口也可以修改变量的值。

2.5调用堆栈:可用通过”调试“->”窗口“菜单下的”调用堆栈“ 命令来打开”调用堆栈“窗口,从下往上显示了函数的调用顺序;
在这里插入图片描述

2.6多线程管理:当多线程程序启动以后,通过点击“调试”->“窗口”->"并行监视"命令来打开并行监视窗口,如下图所示,当前程序已启动7个线程,当前的线程号为37044,此时,我们在自动窗口、监视窗口中可以看到37044线程中各变量的取值情况,通过双击线程号来切换线程,然后再在窗口观察该线程的各变量的取值情况,如下图所示,我们也可以在窗口中输入变量名称,就可以看到每个线程对应的值;
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/620889
推荐阅读
相关标签
  

闽ICP备14008679号