嵌入式开发基础调试篇PPT讲稿.ppt





《嵌入式开发基础调试篇PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《嵌入式开发基础调试篇PPT讲稿.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式开发基础调试篇第1页,共17页,编辑于2022年,星期六memwatch下载memwatch-2.71.tar.gztar zxvf memwatch-2.71.tar.gzcd memwatch-2.71编写源代码(test.c)增加#include“memwatch.h”编译 gcc -DMEMWATCH DMW_STDIOtest.c memwatch.c o test运行./test查看memwatch.log文件第2页,共17页,编辑于2022年,星期六Yet Another Malloc Debugger 下载yamd-0.32.tar.gz tar zxvf yamd-0.
2、32.tar.gz cd yamd-0.32make make install编写源代码(test.c)编译./yamd-gcc -g o test test.c 运行./test查看输出日志第3页,共17页,编辑于2022年,星期六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 conti
3、nue第4页,共17页,编辑于2022年,星期六KDB准备工作您将需要下载并应用两个补丁。一个是“公共的”补丁,包含了对通用内核代码的更改,另一个是特定于体系结构的补丁。例如,在运行 2.6.6内核的 x86 机器上,您会需要 kdb-v4.3-2.6.6-common-1.bz2 和 kdb-v4.3-2.6.6-i386-1.bz2 第5页,共17页,编辑于2022年,星期六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-
4、1 patch-p1/proc/sys/kernel/kdb (#echo“0/proc/sys/kernel/kdb)kdb=early标志将导致在引导过程的初始阶段就把控制权传递给 KDB。如果您需要在引导过程初始阶段进行调试,那么这将有所帮助。启动:PAUSE键第10页,共17页,编辑于2022年,星期六KDB 命令命令 内存显示和修改内存显示和修改这一类别中最常用的命令是 md、mdr、mm 和 mmW。md 命令以一个地址符号和行计数为参数,显示从该地址开始的 line-count 行的内存。如果没有指定 line-count,那么就使用环境变量所指定的缺省值。如果没有指定地址,那么
5、 md 就从上一次打印的地址继续。地址打印在开头,字符转换打印在结尾。mdr 命令带有地址符号以及字节计数,显示从指定的地址开始的 byte-count 字节数的初始内存内容。它本质上和 md 一样,但是它不显示起始地址并且不在结尾显示字符转换。mdr 命令较少使用。mm 命令修改内存内容。它以地址符号和新内容作为参数,用 new-contents 替换地址处的内容。mmW 命令更改从地址开始的 W 个字节。请注意,mm 更改一个机器字。第11页,共17页,编辑于2022年,星期六KDB 命令命令寄存器显示和修改寄存器显示和修改这一类别中的命令有 rd、rm 和 ef。rd 命令(不带任何参数
6、)显示处理器寄存器的内容。它可以有选择地带三个参数。如果传递了 c 参数,则 rd 显示处理器的控制寄存器;如果带有 d 参数,那么它就显示调试寄存器;如果带有 u 参数,则显示上一次进入内核的当前任务的寄存器组。rm 命令修改寄存器的内容。它以寄存器名称和 new-contents 作为参数,用 new-contents 修改寄存器。寄存器名称与特定的体系结构有关。目前,不能修改控制寄存器。ef 命令以一个地址作为参数,它显示指定地址处的异常帧。显示通用寄存器组:显示通用寄存器组:rd第12页,共17页,编辑于2022年,星期六KDB 命令命令断点断点常用的断点命令有 bp、bc、bd、be
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 开发 基础 调试 PPT 讲稿

限制150内