linux_gdb与shell命令

linux_gdb与shell命令

ID:20792258

大小:876.00 KB

页数:63页

时间:2018-10-15

linux_gdb与shell命令_第1页
linux_gdb与shell命令_第2页
linux_gdb与shell命令_第3页
linux_gdb与shell命令_第4页
linux_gdb与shell命令_第5页
资源描述:

《linux_gdb与shell命令》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录Gdb调试基础知识Gdb调试技巧Shell脚本的基本知识GDB调试基础知识本章主要介绍gdb调试基础知识,通过介绍这些基础知识能够掌握gdb调试。本章主要内容如下:GDB介绍GDB调试方法GDB调试命令GDB介绍GDB是GNU开源组织发布的一个强大的程序调试工具。gdb-GNUdebuggergdb官方网址-http://www.gnu.org/software/gdb/gdb.htmlgdb下载地址-http://ftp.gnu.org/gnu/gdb/GDB调试方法常用的gdb调试方法有两种调试一个新进程调试一个正在运行的进程调试一个新进程调试一个新进程为将一个

2、编译好的程序以gdb方式运行起来。在以gdb方式运行前先确定此程序是否可以进行gdb。程序都是由.c文件通过编译连接生成的。在编译.c时如果没有添加-g编译选项则不能进行gdb调试。例如有一个test.c文件,编译连接时执行gcctest.c–otest则编译出的test程序不能进行gdb调试。执行gcc–gtest.c–otest编译出的程序test可以进行gdb调试调试一个新进程确认程序可以进行gdb调试后,gdb调试一个新的进程方式如下所示gdb程序名称例如gdbtest程序gdbtest调试一个正在运行的进程调试一个正在运行的进程为如果程序已经运行,在运行时通过

3、log,黑匣子或其他功能发现正在运行的程序出现问题,此时可以通过gdb调试正在运行的程序。调试正在运行程序的步骤如下所示查找正在运行的进程号(pid)执行命令gdb–p进程号查找正在运行程序的进程号的方式很多。一般使用ps-ef命令。GDB调试命令Gdb调试命令是进行gdb调试时使用的命令。下面将对每个命令进行说明。break,watchdelete,disable,enablecontinue,step,next,finishthread,infothreadbacktrace,framelistprintxcallrunbreak,watchbreak(简写为:b)

4、命令来设置断点有几种设置断点的方法:break函数名break文件名file:行号linebreak行号linebreak…if条件infobreakbreak,watchbreak函数名是在一个函数上设置断点,如果程序运行到此函数则程序停止break文件名file:行号line是在文件名为file文件的line行上设置断点。break行号line是在当前文件的line行上设置断点break,watchbreak…if条件是设置条件断点,程序运行时满足if后的条件,运行到断点处才停止。infobreak是查看本程序中设置断点break,watchwatch命令设置观察点

5、。与watch相关的命令如下所示watchrwatchawatchinfowatchpointsbreak,watchwatch全局变量名称如果全局变量值发生变化则程序在全局变量发生变化位置停止rwatch全局变量名称如果全局变量被读取则程序在全局变量被读取的位置停止awatch全局变量名称如果全局变量被读取或修改则程序在全局变量被读或写的位置停止。上面命令的全局变量如果是指针,上面的命令可能不起作用。break,watchinfowatchpoints查看设置的watch点。infobreak同时显示break断点与watch断点。故可以用infobreak来查看de

6、lete、disable、enabledelete(简写:d)、disable(简写:dis)、enable(简写:ena)为维护断点的命令delete断点号i断点号j…为删除断点号为i,j,…的断点。如果delete后没有参数则删除所有断点。断点号:设置的第几个断点。可以通过infobreak命令查看delete、disable、enabledisable断点号i断点号j…使断点号i,j,...的断点无效即断点号为i,j,…的断点未删除但已经不生效enable断点号i断点号j…使断点号i,j,…的断点有效disable使断点暂时不使用,并没有删除如果想继续使用只要en

7、able即可。continue,step,next,finishcontinue(简写:c),step(简写:s),next(简写:n),finish(简写:fin)实现恢复程序运行和单步调试功能。continue运行到下一个断点step进行函数内部next单步执行continue,step,next,finishfinish跳出函数thread,infothreadthread,infothread为操作线程的命令thread线程序号i切换到线程序号为i的线程infothread查看当前程序中的所有线程这两个命令通常一起使用,一般先通过

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。