日期:2014-05-16  浏览次数:20823 次

如何用gdb 调试ls
我参考了下面这个 ,但是还是不行 ,list main 还是没有输出 
这个问题问的也是很多的,太多的朋友都说找不到源文件。在这里我想提醒大家做下面的检查:

编译程序员是否加上了-g参数以包含debug信息。
路径是否设置正确了。使用GDB的directory命令来设置源文件的目录。
下面给一个调试/bin/ls的示例(ubuntu下)

$ apt-get source coreutils
$ sudo apt-get install coreutils-dbgsym
$ gdb /bin/ls
GNU gdb (GDB) 7.1-ubuntu
(gdb) list main
1192 ls.c: No such file or directory.
in ls.c
(gdb) directory ~/src/coreutils-7.4/src/
Source directories searched: /home/hchen/src/coreutils-7.4:$cdir:$cwd
(gdb) list main

http://coolshell.cn/articles/3643.html

------解决方案--------------------
恩,这个是由于你缺少源码所致

你去看看coreutils的source怎么下

不行就自行编译coreutils得了
------解决方案--------------------
disas吧,哈哈,有助于你提高调试无源码bin的能力