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

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

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

tst.c 源码#includeintSum(intn){

intsum=0;

inti=0;

for(i;i

sum+=i;

}

returnsum;

}

intmain(){

inti;

inta=0;

for(i=1;i<=100;i++){

a+=i;

}

printf("a= %d \n",a);

printf("sum= %d \n",Sum(100));

}

1.gdb 启动

ab7653affab982b574eb7acc55df2e04.gif

2.l 命令

(1)help l 或 help list

ab7653affab982b574eb7acc55df2e04.gif

ab7653affab982b574eb7acc55df2e04.gif

查看 list 命令帮助

(2)l(list) 列出源码

ab7653affab982b574eb7acc55df2e04.gif

No symbol table is loaded. Use the "file" command. 出现这个的原因是: 源文件在编译时, 没有使用 -g 参数, 重新编译使用 list 命令

ab7653affab982b574eb7acc55df2e04.gif

ab7653affab982b574eb7acc55df2e04.gif

l 命令一次只能列 10 行

l 命令到代码末后继续 l

ab7653affab982b574eb7acc55df2e04.gif

(3) 继续 l 或空格键

ab7653affab982b574eb7acc55df2e04.gif

或使用空格键

ab7653affab982b574eb7acc55df2e04.gif

表示上一个 l 命令后, 列出后面的代码可以继续 l 命令或者直接敲回车键

(4)l 数字命令

ab7653affab982b574eb7acc55df2e04.gif

表示查看 11 周围 10 行代码, 即 6-15 行 l 1 可从头查看源码

(5)l - 命令

ab7653affab982b574eb7acc55df2e04.gif

表示查看上一个 l 命令查看的代码之前的 10 行, 即 1-5 行

(6)l 数字, 数字

ab7653affab982b574eb7acc55df2e04.gif

表示查看 6-20 行的源码

(7)l 函数名

ab7653affab982b574eb7acc55df2e04.gif

表示查看 main 函数周围 10 行代码

(8)l 文件名: 数字

ab7653affab982b574eb7acc55df2e04.gif

表示查看 tst.c 文件第 6 行周围的 10 行代码

(9)l 文件名: 函数名

ab7653affab982b574eb7acc55df2e04.gif

表示查看 tst.c 文件中 main 周围 10 行代码

来源: http://lib.csdn.net/article/embeddeddevelopment/36884

你可能感兴趣的:(gdb,list多行)