利用gdb调试内核程序和用户程序
来源:互联网 发布:r软件使用教程 编辑:程序博客网 时间:2024/05/07 12:13
objdump -x obj 以某种分类信息的形式把目标文件的数据组织(被分为几大块)输出
objdump -t obj 输出目标文件的符号表
objdump -h obj 输出目标文件的所有段概括
objdump -j .text/.data -S obj 输出指定段的信息,大概就是反汇编原始码把
用户程序调试:
Gdb 使用 gcc –g src.c
B 6 : 在第6行增加断点
n/s 单步到下一行
run 运行
模块调试:
例:objdump –DSslt ./asd_driver.ko > dump.txt 生成的dump.txt 可以把源码和汇编码对应起来。对应关系不一定完全正确,但可以作为参考。 gdb ../asd_device/asd_driver.ko (gdb) l *phydev_map+0x16c (gdb)info line *phydev_map+0x16c 若call trace 信息中包含了内核的一部分信息,可以如下调试
调试内核:
gdb /lib/modules/2.6.18-prep-gcov/build/vmlinux
GNU gdb Red Hat Linux (6.5-37.el5rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu"...Using host libthread_db library "/lib64/libthread_db.so.1".
(gdb) l * bio_get_nr_vecs+0x0
0xffffffff8003e705 is in bio_get_nr_vecs (/usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.x86_64/include/linux/blkdev.h:627).
622 extern void blk_execute_rq_nowait(request_queue_t *, struct gendisk *,
623 struct request *, int, rq_end_io_fn *);
624
625 static inline request_queue_t *bdev_get_queue(struct block_device *bdev)
626 {
627 return bdev->bd_disk->queue;
628 }
629
630 static inline void blk_run_backing_dev(struct backing_dev_info *bdi,
631 struct page *page)
- 利用gdb调试内核程序和用户程序
- 利用GDB远程调试程序
- 利用GDB和Bochs调试内核源代码
- 利用GDB调试Android里的程序
- 在Linux下利用GDB调试程序
- 利用bochs调试引导程序和Linux内核
- 【GDB调试学习笔记】利用core文件调试程序
- Windbg 内核态调试用户态程序
- 使用gcc和 gdb,调试程序
- gdb的使用和程序调试
- Linux gcc和gdb程序调试用法
- gdb调试多进程和多线程程序
- 使用GDB和Core Dump调试程序
- 用GDB调试程序
- 用 GDB 调试程序
- 用 GDB 调试程序
- 用GDB调试程序
- 用GDB调试程序
- 将一个已经运行的进程attach到固定CPU内核上的方法(linux,windows)
- buildroot制作编译环境全过程解决 - 2
- 性能优化工具gprof & 内存检测工具Valgrind 用法
- 8位灰度图像BMP的保存
- 视频聊天源码求救
- 利用gdb调试内核程序和用户程序
- js的offsetHeight offsetWidth
- BOOST:使用local_date_time 计算当前时间戳
- javascript知识汇总
- AJAX.dll使用教学贴
- 使Windows 任务栏自动隐藏的方法
- IWEB的封装
- 硬盘存储原理和硬盘数据结构
- 跨线程调用窗体控件