每次我使用n
时,都会打印出要执行的下一个语句。
如何查看要执行的下一个语句,就好像我键入了n
,但没有实际执行代码?
目前我正在使用where
,这会给我下一个语句的行号,我可以使用list
查看一些源代码。它需要两个单独的命令才能得到我想要的东西吗?
答案 0 :(得分:2)
尝试“frame”命令。你会看到这样的东西:
(gdb) frame
#0 main () at dummy.c:11
11 FILE*f = fopen("somefile","r");
(gdb)
答案 1 :(得分:1)
答案 2 :(得分:0)
如果你的gdb是用Python支持构建的,那么这个list.current.py脚本会添加一个新的 list-current gdb命令来完成你想要的任务。
示例会话:
$ gdb -x list-current.py /bin/true
(gdb) start
Temporary breakpoint 1 at 0x4014c0: file true.c, line 59.
Starting program: /usr/bin/true
Temporary breakpoint 1, main (argc=1, argv=0x7fffffffde88) at true.c:59
59 if (argc == 2)
(gdb) list-current
59 if (argc == 2)
(gdb) list-current 3
59 if (argc == 2)
60 {
61 initialize_main (&argc, &argv);
(gdb) list-current -2
58 argument. */
59 if (argc == 2)
(gdb)