- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux调试环境
Linux 调试环境
Amlogic Beijing
Zhouzhi
2009-12-7
主题
• Metaware 调试内核和驱动
• GDB/insight调试应用程序
• Procfs
• Oprofile优化代码
Metaware 调试内核和驱动
• 一般使用samba把编译的整个工程目录共享出来,
然后在windows里面映射为一个网络驱动器;
• 确认安装好metaware和JTAG驱动,并使用JTAG
连接到Metaware 调试内核和驱动板子上;
• 接通板子电源,并启动内核;
• 从windos上进入编译时的bld 目录;运行wmake
offdown 来启动metaware debugger
Metaware 调试内核和驱动
• 使用标准的metaware可以查看和分析:
▫ Step, assembe step
▫ Source code
▫ Assembler code
▫ Local variable
▫ Global variable
▫ Watch Pointer #设置观测点,能够在变量或地址被访问或修改
时,暂停执行, 以便分析被错误修改情况;
▫ Break Pointer #设置断点
▫ HW Register #all the cpu registers,
▫ Examine #可以查看分析变量,或把一个地址当作一个结
构体地址来分析, 以便很快的分析具体变量值;
▫ Memory
▫ 另外包括xymem,cache,timer,mmu,second cpu等分析;
▫ Call Stack(分析Call stack 需要打开metaware支持,如下图)
Metaware 调试内核和驱动
打开Metaware stack分析支持
Metaware 调试内核和驱动
• AmDecoding 分析内核thread 的状态
▫ 分析每个thread 的Call stack,所以需要在内核打开
Metaware支持;
▫ 分析各个thread 的当前堆栈使用情况,
▫ 获取各个thread 的task_struct结构体地址,然后
Examine窗口可以使用(struct task_struct *)(addr)
来获取每个thread 的详细信息;
GDB/insight 调试应用程序
• GDB是GNU开源组织发布的一个强大的UNIX下
的程序调试工具
Linux-PC 以太网线 开发板
(10.68.11.58) (10.68.11.128)
Gdbserver host:1234 a.out
gdb a.out
(Gdb) set solib-absolute-prefix NFSROOT
Gdbserver host:1234 --attach
(Gdb)target remote 10.68.11.128:1234
(gdb)list
(gdb)next
(gdb)step
(Gdb)bt
(gdb)print
GDB/insight 调试应用程序
• 常用的gdb命令
▫ backtrace 显示程序中的当前位置和表示如何到达当前位置的栈跟
踪(同义词:where )
breakpoint 在程序中设置一个断点
cd 改变当前工作目录
clear 删除刚才停止处的断点
commands 命中断点时,列出将要执行的命令
continue 从断点开始继续执行
delete
文档评论(0)