C GDB";“跳跃”;命令不';不能跳转到有效的上下文?

C GDB";“跳跃”;命令不';不能跳转到有效的上下文?,c,gcc,gdb,skip,C,Gcc,Gdb,Skip,我希望跳转到一行,或者在相同的上下文中,或者在函数之外。我有一个“测试c” 我还试过“跳跃+1”和“跳跃+14”。同样的结果,不起作用 “跳跃”怎么能以我的方式工作呢?好吧,它在做你让它做的事情。它 跳到6号线 执行代码printf(“%d\n”,c),打印值(97) 继续执行,完成了。证明 [下级1(进程6583)正常退出] 那么,你的计划已经结束了。它不再运行了 FWIW,如果您想再次停止/中断正常的执行,您必须在跳转目标后设置多个断点以使其等待。首先阅读您向我们展示的代码。函数fa的作

我希望跳转到一行,或者在相同的上下文中,或者在函数之外。我有一个“测试c”

我还试过“跳跃+1”和“跳跃+14”。同样的结果,不起作用


“跳跃”怎么能以我的方式工作呢?

好吧,它在做你让它做的事情。它

  • 跳到6号线
  • 执行代码
    printf(“%d\n”,c),打印值(97)
    
  • 继续执行,完成了。证明
[下级1(进程6583)正常退出]

那么,你的计划已经结束了。它不再运行了

FWIW,如果您想再次停止/中断正常的执行,您必须在跳转目标后设置多个断点以使其等待。

首先阅读您向我们展示的代码。函数
fa
的作用是什么?然后检查,例如。查看字符
'a'
的值。此外,当调试器“继续”时,意味着它将继续整个程序直到结束,当调试器报告“正常退出”时会发生这种情况。
  1 
  2 #include<stdio.h>
  3 void fa(int c)
  4 {
  5   printf("begin\n");/*I break here*/
  6   printf("%d\n",c); /*I wish to jump 1 line here*/
  7 }
  8 void fb(){}
  9 
 10 int main(){
 11   int b=1;
 12   int i=2;
 13   fa('a');
 14   fb();             /*I also want to jump here*/
 15   return 0;
 16 }
gdb a.out
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
...
(gdb) b 5
Breakpoint 1 at 0x400571: file test.c, line 5.
(gdb) r
Starting program: /home/Troskyvs/a.out 

Breakpoint 1, fa (c=97) at test.c:5
5     printf("begin\n");
(gdb) j 6
Continuing at 0x40057b.
97                       # This line is odd!
[Inferior 1 (process 6583) exited normally]
(gdb) f
No stack.                # Why it doesn't print line 6 source code
(gdb) j 14
The program is not being run.
                         # What happen here?