如何设置GDB按命令显示的行?

时间:2015-12-10 02:08:55

标签: gcc gdb

默认情况下,gdb只能显示每个命令的1行源代码,现在我想设置它每个命令显示10行,我该怎么办?

1 个答案:

答案 0 :(得分:1)

  

我应该怎么做

你应该可能使用一些GDB前端,例如Eclipse或emacs。您也可以尝试使用gdb --tui

您所要求的内容不太可能为您提供高效的调试环境,我认为这是不可能直接实现的。你可以这样接近:

cat t.c
int main()
{
  int x = 1;
  x = 2;
  x = 3;
  x++;
  return x;
}

gcc -g t.c && gdb -q ./a.out
(gdb) define hook-stop
Type commands for definition of "hook-stop".
End with a line saying just "end".
>list
>end
(gdb) start
Temporary breakpoint 1 at 0x4004f1: file t.c, line 3.
Starting program: /tmp/a.out 
1       int main()
2       {
3         int x = 1;
4         x = 2;
5         x = 3;
6         x++;
7         return x;
8       }

Temporary breakpoint 1, main () at t.c:3
3         int x = 1;
(gdb) n
1       int main()
2       {
3         int x = 1;
4         x = 2;
5         x = 3;
6         x++;
7         return x;
8       }
4         x = 2;
(gdb) n
1       int main()
2       {
3         int x = 1;
4         x = 2;
5         x = 3;
6         x++;
7         return x;
8       }
5         x = 3;

......等等。