网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > linux > 系统管理 > 内核技术 > Linux内核调试工具:Kdb应用指南(3)  

Linux内核调试工具:Kdb应用指南(3)

2002-12-01  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  作者:胡风华
  
  格式2:mdWcn
  
  在缺省情况下,md以当前环境变量BYTESPERWORD的值读取数据,在读取硬件寄存器的时候,需要指定数据的宽度。这是可以使用mdWcn来进行读取,W是读取的宽度,单位是字节,cn为要读取的数目。
  
  mdr:显示原始内存的内容
  
  格式:mdr <vaddr> <count>
  
  从指定地址vaddr开始显示count长度的内存,它打印一连串的内存数据。这个命令是留给外部的调试器使用的,一般很少使用。
  
  mds:以符号的方式显示内存的内容
  
  格式:mds [vaddr [line-count [output-radix]]]
  
  从指定地址vaddr开始显示内存的内容,与md的区别是每行仅显示一个字,并且它试图将该地址与符号表进行匹配,如果找到,那么它将显示相应的符号名以及偏移值。如果不带参数,它将从上次mds的末尾开始显示。
  
  mm:修改内存内容
  
  格式1:mm <vaddr> <new content>
  
  将指定地址vaddr开始的数据修改为新的数据。修改的数据的长度为一个机器字。
  
  格式2:mmW <vaddr> <new content> 网管论坛bbs_bitsCN_com
  
  意义同上,区别在于它改变W字节的内容。
  
  
  堆栈跟踪类
  
  
  该类指令实现对堆栈的跟踪,包括bt、btp和bta三条命令。
  
  bt:显示调用堆栈
  
  格式:bt [<stack-frame addr>]
  
  如果不指定参数,它根据当前寄存器的内容显示堆栈,提供当前活动线程的完整的堆栈跟踪。如果指定stack-frame addr参数,它将从该地址开始跟踪。
  
  btp:显示进程的堆栈
  
  格式:btp <pid>
  
  显示由pid指定的进程的堆栈。
  
  bta:显示所有进程的堆栈
  
  格式:bta
  
  
  寄存器类
  
  
  寄存器类命令包括对寄存器内容进行显示和修改的rd和rm指令,以及异常帧显示指令ef。
  
  rd:显示寄存器内容
  
  格式:rd [c|d|u]
  
  如果不带任何参数,rd显示所有进入kdb调试器时该点所设置的所有通用寄存器的值。如果带c参数,它将显示控制寄存器cr0、cr1、cr2、cr4寄存器的内容。如果带d参数,它显示调试寄存器的内容。如果带u参数,它显示当进入kdb调试器时当前任务的所有寄存器。 网管bitscn_com
  
  rm:修改寄存器的内容
  
  格式:rm <register-name> <register-content>
  
  该命令修改register-name指定的寄存器的内容为register-content。其中register-name为%eax、%ebx、%ecx、%edx、%esi、%edi、%esp、%eip或%ebp。如果参数为%%,由rd u指定的寄存器将被修改。当前rm命令不允许修改控制寄存器,也不允许显示和修改Pentium和Pentium Pro系列的特定寄存器。
  
  ef:显示异常帧
  
  格式: ef <vaddr>
  
  显示vaddr地址处的异常帧。
  
  
  环境变量类
  
  
  这类指令对kdb调试器环境变量进行显示和设置。包括set和env命令。
  
  set:设置环境变量
  
  格式:set <env-var=value>
  
  将环境变量env-var的值设置为value。最多有33个环境变量,每个环境变量最大512字节。kdb的主要环境变量有:
  
  PROMPT:kdb调试器提示符,缺省为kdb>。
  
  MOREPROMPT:在一屏显示不下的情况下,系统的提示符,缺省为more>。
  
  RADIX:显示数据时所使用的数制,缺省为16进制。
   网管下载dl.bitscn.com
  LINES:kdb调试器显示行数。缺省为24行。
  
  COLUMNS:kdb调试器显示的列数。缺省为80列。
  
  MDCOUNT:执行md指令时显示的内存行数,缺省为8行。
  
  BTARGS:执行bt跟踪时,指定任一函数在打印时所使用参数最大个数。
  
  SSCOUNT:该环境变量规定在执行ssb命令时,如果显示超过此数,执行将停止。缺省为20。
  
  IDMODE:反汇编时所使用的指令格式。缺省为x86。
  
  BYTESPERWORD:指定字的长度,缺省为4个字节。
  
  IDCOUNT:反汇编时,一次反汇编的指令长度,缺省为16条指令。
  
  env:显示环境变量
  
  格式:env
  
  显示所有环境变量的值。
TAGs应用   指南   工具   调试   显示   格式   内容   指定   变量   环境    
 上一篇:Linux内核调试工具:Kdb应用指南(4)   下一篇:Linux内核调试工具:Kdb应用指南(2)
Linux内核调试工具:Kdb应用指南(3) 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: