lkcd与TCP/IP栈调试全解析
1. lkcd源与补丁
lkcd源可从sourceforge.net获取。kerntypes是内核数据结构的数据库,在构建lkcd时生成。它和系统映射文件作为lcrash的参数。以下是启动lcrash程序的命令:
- 在内核崩溃转储上启动:
lcrash kerntypes core - file system.map- 在实时系统上使用:
lcrash kerntypes /dev/mem system.map默认生成的kerntypes可能不包含所有内核子系统数据结构的存根。SG开发了一个工具来为所有内核数据类型生成存根。需要以调试模式构建内核,并运行dwarfextract二进制文件来构建kerntypes文件:
dwarfextract - p vmlinux kerntypes使用dwarfextract -c或-C输入需要添加到kerntypes的模块。kerntypes随lkcdutils的7.0.1 - 27版本提供,位于lkcdu- tils/dwarf/dwarfdump目录下。
此外,还需要使用帧指针选项配置内核,并使用lkcd补丁构建内核。对于内核2.4,补丁可在