gdb调试学习(一) list命令的学习

———-l(list)命令用于列出源码

tst.c源码

#include 

int Sum(int n)
{
   int sum = 0;
   int i = 0;
   for(i; i < n; i ++)
   {
      sum += i;
   }
   return sum;
}

int main()
{
   int i;
   int a = 0;
   for(i = 1; i <= 100; i ++)
   {
      a += i;
   }
   printf("a= %d \n", a);
   printf("sum= %d \n", Sum(100) );
}

1.gdb启动
gdb调试学习(一) list命令的学习_第1张图片
2.l命令
(1)help l或help list
[图片]

gdb调试学习(一) list命令的学习_第2张图片
查看list命令帮助

(2)l(list)列出源码
[图片]
No symbol table is loaded. Use the “file” command.出现这个的原因是:源文件在编译时,没有使用 -g 参数,重新编译使用list命令。
[图片]

gdb调试学习(一) list命令的学习_第3张图片
l命令一次只能列10行

l命令到代码末后继续l
[图片]

(3)继续l或空格键
gdb调试学习(一) list命令的学习_第4张图片
或使用空格键
gdb调试学习(一) list命令的学习_第5张图片
表示上一个l命令后,列出后面的代码可以继续l命令或者直接敲回车键。

(4)l 数字命令
gdb调试学习(一) list命令的学习_第6张图片
表示查看11周围10行代码,即6-15行。l 1可从头查看源码。

(5)l -命令
gdb调试学习(一) list命令的学习_第7张图片
表示查看上一个l命令查看的代码之前的10行,即1-5行。

(6)l 数字,数字
gdb调试学习(一) list命令的学习_第8张图片
表示查看6-20行的源码

(7)l 函数名
gdb调试学习(一) list命令的学习_第9张图片
表示查看main函数周围10行代码。

(8)l 文件名:数字
gdb调试学习(一) list命令的学习_第10张图片
表示查看tst.c文件第6行周围的10行代码

(9)l 文件名:函数名
gdb调试学习(一) list命令的学习_第11张图片
表示查看tst.c文件中main周围10行代码

你可能感兴趣的:(Linux)