- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式开发基础调试篇第一页,共十七页,2022年,8月28日
memwatch下载cd memwatch-2.71编写源代码(test.c)增加 #include “memwatch.h”编译 gcc -DMEMWATCH –DMW_STDIO test.c memwatch.c –o test运行 ./test查看memwatch.log文件第二页,共十七页,2022年,8月28日
Yet Another Malloc Debugger 下载yamd-0.32.tar.gz tar zxvf yamd-0.32.tar.gz cd yamd-0.32 make make install编写源代码(test.c)编译 ./yamd-gcc -g –o test test.c 运行 ./test查看输出日志第三页,共十七页,2022年,8月28日
GDB在编译时选择-g选项gdb的启动 gdb program-name or gdb 启动后执行file program-name or gdb program-name corefile-name 常用命令:file list next step run quit watch break make shell print disable delete continue 第四页,共十七页,2022年,8月28日
KDB准备工作 您将需要下载并应用两个补丁。一个是“公共的”补丁,包含了对通用内核代码的更改,另一个是特定于体系结构的补丁。 例如,在运行 内核的 x86 机器上,您会需要 kdb-v4.3-2.6.6-common-1.bz2 和 kdb-v4.3-2.6.6-i386-1.bz2 第五页,共十七页,2022年,8月28日
KDB安装 bzip2 -d kdb-v4.3-2.6.6-common-1.bz2 bzip2 -d kdb-v4.3-2.6.6-i386-1.bz2 打补丁 patch -p1 kdb-v4.3-2.6.6-common-1 patch -p1 kdb-v4.3-2.6.6-i386-1 第六页,共十七页,2022年,8月28日
KDB编译内核“Kernel hacking”部分选择“Built-in Kernel Debugger support”选项。选择“Compile the kernel with frame pointers”选项(如果有的话)则设置 CONFIG_FRAME_POINTER 标志。这将产生更好的堆栈回溯,因为帧指针寄存器被用作帧指针而不是通用寄存器。您还可以选择“KDB off by default”选项。这将设置 CONFIG_KDB_OFF 标志,并且在缺省情况下将关闭 KDB。 第七页,共十七页,2022年,8月28日
KDBmake cleanmake mrpropermake menuconfigmake bzImagemake modulesmake modules_install第八页,共十七页,2022年,8月28日
KDBcp System.map /boot/配置grubreboot第九页,共十七页,2022年,8月28日
激活 KDB 通过在引导期间将 kdb=on (off)标志传递给内核或者通过在挂装了 /proc 之后执行该工作:#echo 1 /proc/sys/kernel/kdb (#echo “0 /proc/sys/kernel/kdb) kdb=early标志将导致在引导过程的初始阶段就把控制权传递给 KDB。如果您需要在引导过程初始阶段进行调试,那么这将有所帮助。 启动: PAUSE键第十页,共十七页,2022年,8月28日
KDB 命令 内存显示和修改这一类别中最常用的命令是 md 、 mdr 、 mm 和 mmW 。md 命令以一个地址/符号和行计数为参数,显示从该地址开始的 line-count 行的内存。如果没有指定 line-count ,那么就使用环境变量所指定的缺省值。如果没有指定地址,那么 md 就从上一次打印的地址继续。地址打印在开头,字符转换打印在结尾。 mdr 命令带有地址/符号以及字节计数,显示从指定的地址开始的 byte-count 字节数的初始内存内容。它本质上和 md 一样,但是它不显示起始地址并且不在结尾显示字符转换。 mdr 命令较少使用。 mm 命令修改内存内容。它以地址/符号和新内容作为参数,用 new-contents 替换地址处的内容。 mmW 命令更改从地址开始的 W 个字节。请注意, mm 更改一个机器字。 第十一页,共十七页,2022年,8月28日
KDB 命令寄存器显示和修改这一类别中的命令有
您可能关注的文档
- 电气安全知识讲座防触电.ppt
- 磁粉探伤理论.ppt
- 高一化学化学键.ppt
- 建筑设计制图第一章.ppt
- 供热工程第一章供暖系统的设计热负荷.ppt
- 三角形的有关概念.ppt
- 固体电子物理.ppt
- 电感知识讲义.ppt
- 二极管的识别与简单测试.ppt
- 颅脑损伤护理查房.ppt
- 2025年实体经济碳酸饮料供应链管理报告.docx
- 2025年航空航天零部件加工精度提升技术质量优化报告.docx
- 《2025年AI营销文案报告:长尾词内容需求与工具生成策略》.docx
- 2025象山农信联社秋季招聘备考题库及答案详解(有一套).docx
- 郑州理工职业学院单招《数学》考试彩蛋押题及答案详解(夺冠).docx
- 房地产开发项目进度管理计划书.docx
- 郑州理工职业学院单招《数学》模拟试题含答案详解(基础题).docx
- 郑州理工职业学院单招《数学》考试历年机考真题集及完整答案详解(必刷).docx
- 2025年启东人社局考试题库及答案.doc
- 2025年礼仪培训行业服务模式创新与市场潜力报告.docx
原创力文档


文档评论(0)