每当我在gdb的c程序中设置断点时,它都会在“ break”命令中指定的行之后一行设置断点。
所以我想研究一些简单的c代码只是为了让我开始用c进行调试,我在代码的第6行设置了一个断点,但它继续在第7行设置了断点。
#include <stdio.h>
#include <string.h>
int main() {
char str_a[20];
strcpy(str_a, "Hello, world!\n");
printf(str_a);
}
我首先使用“列表”列出代码行,然后使用命令“ break 6”在第6行添加一个断点,我希望输出是这样的:“在0x000d处的断点1:文件char_array.c,第6行。”但是此命令的输出实际上是“在0x113d处的断点1:文件char_array.c,第7行”。每当我尝试在第7行以上的所有行上添加断点时,该行都会吐出。这可能是错误吗?
答案 0 :(得分:2)
您只能在执行某些操作的地方设置断点。
第6行为空白。它永远不会执行。因此,您不能在此处放置断点。