测试——VS断点调试

1、问题

  • 本文使用VS对c程序执行简单的断点调试。
  • 调试的c程序:
    • #define _CRT_SECURE_NO_WARNINGS
      #include 
      #include 
      #include 
      
      using namespace std;
      
      int main(void) {
          float r=0;
          float s=0;
      
          printf("请输入圆的半径:");
          scanf("%f", r);
      
          s = 3.14 * r * r;
          printf("面积是:%f\n",s);
      
          system("pause");
          return 0;
      }
  • 运行程序,输入半径后报错:
    • 测试——VS断点调试_第1张图片  测试——VS断点调试_第2张图片
  • 此时并不知道是代码哪里导致的报错,尝试使用断点进行调试。

2、过程

  • 假设一个位置,插入断点。
    • 测试——VS断点调试_第3张图片
  • 设置Debug模式,点击开始调试。
  • 此时程序正常运行,没有报错。
  • 先介绍下面三个按键,分别为逐语句、逐过程和跳出。
    • 逐语句:从断点开始,一条语句一条语句地执行。如果遇到函数,会进入函数内部执行。
    • 逐过程:如果遇到函数,直接执行整个函数。
    • 跳出:从函数内部跳出。
  • 点击逐语句,程序依旧没有报错,并且已经执行完了printf语句,准备执行scanf语句。
    • 测试——VS断点调试_第4张图片
  • 继续点击逐语句,执行scanf语句,输入100,点击确定。
  • 程序报错,说明是scanf语句出了问题。
    • 测试——VS断点调试_第5张图片
  • 仔细查看,发现是没有加&。
    • scanf("%f", &r);
  • 修改后再次调试,运行正常。 

你可能感兴趣的:(测试,c语言)