我在使用C应用程序时遇到一些问题。我在CLion
(Windows)中编写,并且从for
开始有1 to 1000
循环,但是在i = 600
周围的某个时刻,循环中的代码返回了错误消息。
在这一点上,我对为什么会出现此问题不感兴趣,但对如何找到它不感兴趣,因此我尝试调试该应用程序,但无法击中F7
600次。
当我说590时,有什么方法可以开始调试?
答案 0 :(得分:1)
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;
}