Linux调试环境.pdf

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

liangyuehong + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档