如何在CLion中设置断点条件

如何在CLion中设置断点条件,c,debugging,clion,C,Debugging,Clion,我在C应用程序中遇到了一些问题。我在CLion(windows)中写作,我有一个for循环,从1到1000,但在I=600附近的某个点,循环中的代码返回了错误的内容 在这一点上,我对为什么会出现这个问题不感兴趣,而是对如何找到它感兴趣,因此我尝试调试应用程序,但不可能点击F7600次 那么,当我达到590时,有没有什么方法可以开始调试呢 CLion允许您设置条件断点。考虑下面的代码,它将在循环601结束时表现出坏的行为,因为它运行在数组的末尾。 若要捕获此消息,请在正在进行分配的行上设置断点 然

我在C应用程序中遇到了一些问题。我在
CLion
(windows)中写作,我有一个
for
循环,从
1到1000
,但在
I=600
附近的某个点,循环中的代码返回了错误的内容

在这一点上,我对为什么会出现这个问题不感兴趣,而是对如何找到它感兴趣,因此我尝试调试应用程序,但不可能点击
F7
600次


那么,当我达到590时,有没有什么方法可以开始调试呢

CLion允许您设置条件断点。考虑下面的代码,它将在循环601结束时表现出坏的行为,因为它运行在数组的末尾。 若要捕获此消息,请在正在进行分配的行上设置断点

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

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

#包括
int main()
{
字符数组[600];
对于(int i=0;i<1000;i++){
//做某事的代码
数组[i]=0xff;//在这里设置断点!
//,然后右键单击并添加条件:i==590
}
printf(“你好,世界!\n”);
返回0;
}

CLion允许您设置条件断点。考虑下面的代码,它将在循环601结束时表现出坏的行为,因为它运行在数组的末尾。 若要捕获此消息,请在正在进行分配的行上设置断点

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

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

#包括
int main()
{
字符数组[600];
对于(int i=0;i<1000;i++){
//做某事的代码
数组[i]=0xff;//在这里设置断点!
//,然后右键单击并添加条件:i==590
}
printf(“你好,世界!\n”);
返回0;
}

你试过了吗?@fredrik是的,我试过了,但我不清楚这种情况的合并方式。我试过I=590,但没用。谢谢你发帖提问。请包含一个main()函数并提供一个。这有助于我们帮助你。如果您可以在创建故障的同时使问题尽可能简单,那么它将帮助我们隔离使代码正常工作的问题。用代码回答问题更容易。条件必须是
i==590
。因为
i=590
将进行赋值而不是比较,并且不会发生中断。@JohnMurray实际代码太复杂(代码在不同的文件中分开等),所以简化它有点困难。虽然使
i==590
起作用,所以我的问题解决了。你试过了吗?@fredrik是的,我试过了,但我不清楚该条件的语法方式。我试过I=590,但没用。谢谢你发帖提问。请包含一个main()函数并提供一个。这有助于我们帮助你。如果您可以在创建故障的同时使问题尽可能简单,那么它将帮助我们隔离使代码正常工作的问题。用代码回答问题更容易。条件必须是
i==590
。因为
i=590
将进行赋值而不是比较,并且不会发生中断。@JohnMurray实际代码太复杂(代码在不同的文件中分开等),所以简化它有点困难。虽然使
i==590
有效,但我的问题解决了。