导言

本人用的vs2010中文版

程序崩溃的原因:

  • 堆栈溢出

    1、读取未初始化的值

    2、定义一个太大的局部变量

    3、递归过深

  • 数组访问越界

  • 指针

    1、访问空指针、野指针、未赋值的指针

    2、释放已经被释放的内存

    3、不恰定的强制类型转换


启动调试

 

菜单栏的调试按钮,里面说明了一些方式和快捷键。【F5】

 

断点

断点用于通知程序在哪里暂停,点击左边栏或者按F9添加断点。

VS调试记录

 

 

  • 逐过程【F10】:一条一条执行代码,遇到方法的时候也会一条执行

  • 逐语句【F11】:一条一条执行代码,遇到方法的时候会跳到方法体内逐行执行

  • 跳出【shift+F11】:当调试到一个方法体内时,按shift+F11会直接执行完次方法,并跳到调用此方法的下一条语句处暂定

  • 继续【F5】:执行程序到下一个断点

 

  • 显示下一语句:黄色箭头的地方是要执行的下一步语句。

  • 设置下一语句:拖动断点上的黄色箭头到需要执行的语句上,则会跳过断点到目前黄色箭头之间的语句。

 

 

断点标签

断点标签可以对断点进行归类,可以一组一组的设置这些断点。

右击断点可以设置编辑标签。

可以通过标签名过滤或者搜索它们,然后方便的取消它们。

 

条件断点

在断点处设置条件,当条件为真时,调试会停在此处。

右击断点,点击“条件”, 输入表达式。

 

断点命中次数

当第N次满足条件的运行到达断点时,才中断程序运行。

当设置好条件时,右击断点,点击“命中次数”:

VS调试记录

有三个选项:

  1. 当满足条件,而且进入断点的累计次数等于N时,断点命中一次。

  2. 当满足条件,而且进入断点的累计次数是N的倍数时,断点命中一次。

  3. 当满足条件,而且进入断点的累计次数大于N时,每次命中断点。

 

断点筛选器

右击断点,选择断点筛选器,可以设置中断的条件:

VS调试记录

 

命中条件

当命中断点时,可以打印消息。

VS调试记录

可以看出,在输出中,输出xt的值

 


参考:

https://blog.csdn.net/qq_35637562/article/details/79369034

https://www.cnblogs.com/zxlovenet/p/3549374.html

相关文章:

  • 2021-11-18
  • 2021-09-22
  • 2021-12-25
  • 2021-07-05
  • 2022-01-22
  • 2021-04-23
  • 2021-04-26
  • 2021-04-19
猜你喜欢
  • 2021-05-14
  • 2021-11-03
  • 2021-12-02
  • 2021-04-27
  • 2021-04-07
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案