首页 > 解决方案 > 如何在 CLion 中设置断点条件

问题描述

我在使用 C 应用程序时遇到了一些问题。我正在CLion(windows)中写作,我有一个for循环,1 to 1000但在i = 600循环内的代码周围的某个时刻返回了错误。

此时,我对为什么会出现这个问题不感兴趣,而是对如何找到它感兴趣,所以我尝试调试应用程序但无法达到F7600 次。

那么当我说 590 时,有什么方法可以开始调试吗?

标签: cdebuggingclion

解决方案


CLion 允许您设置条件断点。考虑下面的代码,它将在循环 601 上表现出不良行为,因为它在数组末尾运行。

要抓住这一点,请在进行分配的行上设置一个断点。

然后,右键单击断点并将以下内容添加到对话框中的条件框中:

i == 599

然后,运行代码,调试器只有在 i == 599 时才会停在断点处。太神奇了!

#include <stdio.h>

int main()
{
    char array[600];

    for (int i = 0; i < 1000; i++) {
        // code that does something

        array[i] = 0xff; // set breakpoint here!
        //, then right click and add conditional:  i == 590
    }

    printf("Hello, World!\n");
    return 0;
}

推荐阅读