向大家请教一个Linux下的调试问题

软件和网站开发以及相关技术探讨
回复
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
送出感谢: 0
接收感谢: 0
联系:

向大家请教一个Linux下的调试问题

#1

帖子 kofshower » 2008-05-15 12:02

1、调试器是依赖什么装入调试信息的,因为刚刚转入Linux下开发,不知道Linux的调试信息是单独的gdb文件还是什么之类的抑或是直接在生成的库里面。因为我用insight老是不见第三方库的调试信息。
2、KDevelop是个比较容易上手的好工具,可是在调试的时候为什么经常出现Debuger出错的提示,可以看我的截图。
用到fdm = mmap ( 0, stat.st_size, PROT_READ, MAP_SHARED, STDIN_FILENO, 0 );
这样语句的时候,就提示不能访问内存0地址,可是这儿的0明明意味着由内核调度嘛。

唉~现在就郁闷了 来回开insight,影响情绪,伤身体~~~ :twisted:

ps:我在邮件列表看到一的解答了:
hi,
The output format of the static image is elf(vmlinux). Have you read this document describing elf.

http://www.nondot.org/sabre/os/files/Ex ... es/ELF.pdf

gdb documentation.
http://www.gnu.org/software/gdb/documentation/

http://sources.redhat.com/gdb/current/o ... b_toc.html
You can use -g compiler switch of gcc to get the executable containing debug information.

GDB also allows you to put a program's debugging information in a file separate from the executable itself.
By doing this, GDB can find and load the debugging information automatically. Since debugging information can be very large -- this helps when debug info is larger than the executable code itself.

You can use objdump to see the debug information stored in the executable.

If you are more interested try to install and use libgdb and libelf.

-ssnkumar
附件
1.png
KDevelop 的问题1
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 kofshower » 2008-05-26 22:39

大家帮忙看看
回复

回到 “软件/网站开发”