Linux she 39 ll,linuxgdb与she印ll命令.ppt

linuxgdb与she印ll命令

目录 Gdb调试基础知识 Gdb调试技巧 Shell脚本的基本知识 GDB调试基础知识 本章主要介绍gdb调试基础知识,通过介绍这些基础知识能够掌握gdb调试。本章主要内容如下: GDB介绍 GDB调试方法 GDB调试命令 GDB介绍 GDB是GNU开源组织发布的一个强大的程序调试工具。 gdb - GNU debugger gdb官方网址 - /software/gdb/gdb.html gdb下载地址 - /gnu/gdb/ GDB调试方法 常用的gdb调试方法有两种 调试一个新进程 调试一个正在运行的进程 调试一个新进程 调试一个新进程为将一个编译好的程序以gdb方式运行起来。在以gdb方式运行前先确定此程序是否可以进行gdb。程序都是由.c文件通过编译连接生成的。在编译.c时如果没有添加-g编译选项则不能进行gdb调试。例如有一个test.c文件,编译连接时执行 gcc test.c –o test 则编译出的test程序不能进行gdb调试。执行 gcc –g test.c –o test 编译出的程序test可以进行gdb调试 调试一个新进程 确认程序可以进行gdb调试后,gdb调试一个新的进程方式如下所示 gdb 程序名称 例如gdb test程序 gdb test 调试一个正在运行的进程 调试一个正在运行的进程为如果程序已经运行,在运行时通过log,黑匣子或其他功能发现正在运行的程序出现问题,此时可以通过gdb调试正在运行的程序。调试正在运行程序的步骤如下所示 查找正在运行的进程号(pid) 执行命令 gdb –p 进程号 查找正在运行程序的进程号的方式很多。一般使用ps -ef命令。 GDB调试命令 Gdb调试命令是进行gdb调试时使用的命令。下面将对每个命令进行说明。 break,watch delete,disable,enable continue, step, next,finish thread,info thread backtrace, frame list print x call run break,watch break(简写为:b)命令来设置断点有几种设置断点的方法: break 函数名 break 文件名file:行号line break 行号line break … if 条件 info break break,watch break 函数名 是在一个函数上设置断点,如果程序运行到此函数则程序停止 break 文件名file:行号line 是在文件名为file文件的line行上设置断点。 break 行号 line 是在当前文件的line行上设置断点 break,watch break … if 条件 是设置条件断点,程序运行时满足if后的条件,运行到断点处才停止。 info break 是查看本程序中设置断点 break,watch watch命令设置观察点。与watch相关的命令如下所示 watch rwatch awatch info watchpoints break,watch watch 全局变量名称 如果全局变量值发生变化则程序在全局变量发生变化位置停止 rwatch 全局变量名称 如果全局变量被读取则程序在全局变量被读取的位置停止 awatch全局变量名称 如果全局变量被读取或修改则程序在全局变量被读或写的位置停止。 上面命令的全局变量如果是指针,上面的命令可能不起作用。 break,watch info watchpoints 查看设置的watch点。info break同时显示break断点与watch断点。故可以用info break来查看 delete、disable、enable delete(简写:d)、disable(简写:dis)、enable(简写:ena)为维护断点的命令 delete 断点号i 断点号j … 为删除断点号为i, j, …的断点。如果delete后没有参数则删除所有断点。 断点号:设置的第几个断点。可以通过info break命令查看 delete、disable、enable disable断点号i 断点号j … 使断点号i,j,...的断点无效即断点号为i,j,…的断点未删除但已经不生效 enable 断点号i 断点号j … 使断点号i,j,…的断点有效 disable使断点暂时不使用,并没有删除如果想继续使用只要enable即可。 continue, step, next,finish continue(简写:c), step(简写:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值