MST

星途 面试题库

面试题:C++中Debug版本调试便利性之断点相关

在C++的Debug版本中,如何有效地设置断点来定位程序错误?请举例说明在不同的IDE(如Visual Studio、CLion)中设置断点的方法以及注意事项。
17.8万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

Visual Studio 设置断点方法及注意事项

  1. 设置断点方法
    • 打开项目,在代码编辑器中定位到你想要设置断点的代码行。例如,假设有如下代码:
#include <iostream>
int main() {
    int a = 5;
    int b = 3;
    int result = a + b;
    std::cout << "The result is: " << result << std::endl;
    return 0;
}
  • 点击代码行左侧的灰色区域,会出现一个红点,表示断点已设置。比如在 int result = a + b; 这一行设置断点。
  • 也可以通过右键点击代码行,选择“断点” -> “插入断点”来设置。
  1. 注意事项
    • 条件断点:对于复杂逻辑,可设置条件断点。比如在一个循环中,只在满足特定条件时中断。右键点击断点,选择“条件”,在弹出的对话框中输入条件,如在循环 for (int i = 0; i < 100; i++) 中,想在 i == 50 时中断,就输入 i == 50
    • 断点过滤:如果代码中有多线程,可使用断点过滤,只在特定线程触发断点。右键点击断点,选择“过滤”,设置线程相关条件。

CLion 设置断点方法及注意事项

  1. 设置断点方法
    • 打开项目,在代码编辑器中找到要设置断点的代码行。同样以上面代码为例,在 int result = a + b; 行,点击该行左侧边缘,会出现一个红点即设置好了断点。
    • 还可以使用快捷键,如在Windows和Linux上是 Ctrl + F8,在Mac上是 Command + F8 来快速切换该行断点状态。
  2. 注意事项
    • 数据断点:CLion支持数据断点。如果要监控某个变量值的变化,选择“Run” -> “View Breakpoints”,在弹出窗口中点击“+”,选择“Data Breakpoint at...”,然后选择要监控的变量,如上述代码中的 a 变量。
    • 异常断点:可以设置异常断点来捕获特定的异常。在“View Breakpoints”窗口中,点击“+”,选择“Exception Breakpoint”,可选择C++ 标准异常类型,如 std::runtime_error 等,程序运行到抛出该类型异常时就会中断。