【发布时间】:2012-11-06 08:16:21
【问题描述】:
我有一个源文件 shared_lib_test.c,其中有如下代码:
10 void test_function(void)
11 {
12 do_me();
13 skip_me();
14 return;
15 }
我想使用 gdb 跳过第 13 行,我该怎么做?此函数属于共享库而不是二进制文件。
如果此函数属于二进制文件,那么我可以使用以下命令来执行此操作:
b shared_lib_test.c:13
commands 1
jump 14
continue
end
但由于它属于共享库,我无法在源文件的确切行号上设置断点,我尝试了 'b test_function +2' 但对 gdb 来说似乎是非法的。
【问题讨论】:
-
尝试在共享库上使用 b fileName.cpp:lineNumber 而不是使用函数名。它必须打破。然后你可以使用通常的指令集。如果它是共享库,为什么要在函数处设置断点?
-
感谢您的评论,我这样做的原因是我想节省时间更改共享库中的逻辑而不编译它。