在调试期间设置了一些断点,然后使用save breakpoints bps
保存。
通过在文件中间添加几行来修改代码。
当再次启动gdb并完成source bps
时,那些在第一次出现代码修改之上的断点就可以了,其余部分相对移动了。
有没有办法与修改过的文件进行断点的智能同步?
答案 0 :(得分:2)
有没有办法与断点进行智能同步 修改过的文件?
这取决于您设置断点的方式。您可以尝试独立于行号设置它们,例如在函数名称:
(gdb) b main
这样,断点位置与行号无关,并自动与修改后的文件同步。
答案 1 :(得分:2)
您可以通过int 3
:
#include <stdio.h>
#define __DEBUG
#ifdef __DEBUG
#define __breakpoint__() __asm__ __volatile__("int $3\n")
#else
#define __breakpoint__()
#endif
int main(int argc, char **argv) {
const char *p = "Hello world!";
__breakpoint__();
printf("'%s'\n", p);
return 0;
}