默认情况下,gdb只能显示每个命令的1行源代码,现在我想设置它每个命令显示10行,我该怎么办?
答案 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;
......等等。