gdb调试工具常用命令 && kdb

编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main

gdb中命令:

回车键:重复上一命令

(gdb)help:查看命令帮助,具体命令查询在gdb中输入help + 命令,简写h

(gdb)run:重新开始运行文件(run-text:加载文本文件,run-bin:加载二进制文件),简写r

(gdb)start:单步执行,运行程序,停在第一执行语句

(gdb)list:查看原代码(list-n,从第n行开始查看代码。list+ 函数名:查看具体函数),简写l

(gdb)set:设置变量的值

(gdb)next:单步调试(逐过程,函数直接执行),简写n

(gdb)step:单步调试(逐语句:跳入自定义函数内部执行),简写s

(gdb)backtrace:查看函数的调用的栈帧和层级关系,简写bt

(gdb)frame:切换函数的栈帧,简写f

(gdb)info:查看函数内部局部变量的数值,简写i

(gdb)finish:结束当前函数,返回到函数调用点

(gdb)continue:继续运行,简写c

(gdb)print:打印值及地址,简写p

(gdb)quit:退出gdb,简写q

(gdb)break+num:在第num行设置断点,简写b

(gdb)info breakpoints:查看当前设置的所有断点

(gdb)delete breakpoints num:删除第num个断点,简写d

(gdb)display:追踪查看具体变量值

(gdb)undisplay:取消追踪观察变量

(gdb)watch:被设置观察点的变量发生修改时,打印显示

(gdb)i watch:显示观察点

(gdb)enable breakpoints:启用断点

(gdb)disable breakpoints:禁用断点

(gdb)x:查看内存x/20xw 显示20个单元,16进制,4字节每单元

(gdb)run argv[1] argv[2]:调试时命令行传参

(gdb)set follow-fork-mode child#Makefile项目管理:选择跟踪父子进程(fork())

core文件:先用$ ulimit -c 1024 开启core,当程序出错会自动生成core文件。调试时 gdb a.out core

ctrl+c:退出输入

原文地址:https://www.cnblogs.com/yipianchuyun/p/12307745.html

时间: 2024-10-17 06:37:03

gdb调试工具常用命令 && kdb的相关文章

GDB调试程序常用命令

使用GDB调试程序的一般步骤: 第一步:编译程序(-g参数告诉编译器生成调试信息) >gcc test.c -g 第二步:运行gdb >gdb a.exe 第三步:查看源码,l列出居首的10行代码,字母l是list的缩写,注意:这里"(gdb)"是gdb的提示符,不是我们手工键入的. (gdb) l 第四步:加断点(字母b是break的缩写) ,这里以在第四行加断点为例. (gdb) b 4 第五步:执行(字母r是run的缩写),因为前面的b命令把断点设在了第4行,所以执行

GDB的常用命令

1.直接按回车键表示,重复上一次命令 2.p i=1.改变i的变量值 3.finish 退出函数 4.gdb -c core文件 可执行文件 5.gdb 进程名 PID 6.-d 加入一个源文件的搜索路径 7.shell+命令 可以在gdb下执行shell命令 8.make 可以重新build自己的程序 9.set args 可以指定运行时参数 10.show args 可以查看设置好的运行时参数 11.path 可以设定程序的运行路径 12.show path 查询程序的运行路径 13.用at

linux学习之gdb调试工具篇

gdb 1.gdb介绍 本章介绍一种很强大的调试工具gdb,可以完全操控程序的运行,使得程序就像你手里的玩具一样,叫它走就走,叫它停就停,并且随时可以查看程序中所有的内部状态,比如各变量的值.传给函数的参数.当前执行的代码行等. 有了gdb以后,即使调试手段丰富了,调试的基本思想仍然是"分析现象->假设错误原因->产生新的现象去验证假设"这样一个循环,根据现象如何假设错误原因,以及如何设计新的现象去验证假设,这都需要非常严密的分析和思考,如果因为手里有了强大的工具就滥用而忽

Linux调试工具strace和gdb常用命令小结

strace和gdb是Linux环境下的两个常用调试工具,这里是个人在使用过程中对这两个工具常用参数的总结,留作日后查看使用. strace调试工具 strace工具用于跟踪进程执行时的系统调用和所接收的信号,包括参数.返回值.执行时间.在Linux中,用户程序要访问系统设备,必须由用户态切换到内核态,这是通过系统调用发起并完成的. strace常用参数: -c 统计每种系统调用执行的时间.调用次数.出错次数,程序退出时给出报告 -p pid 跟踪指定的进程,可以使用多个-p同时跟踪多个进程 -

GDB常用命令使用说明(一)

本文由霸气的菠萝原创,转载请注明出处:http://www.cnblogs.com/xsln/p/gdb_instructions1.html 全部关于gdb的文章索引请点这里 GDB(GNU Debugger)是在Unix以及类Unix系统下的调试工具.功能极其强大,几乎涵盖了你所需要的全部功能. GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的定制要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住. 3.当程序被停住时,可以检查此时你的程序中所

GDB常用命令使用

GDB(GNU Debugger)是在Unix以及类Unix系统下的调试工具.功能极其强大,几乎涵盖了你所需要的全部功能. GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的定制要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住. 3.当程序被停住时,可以检查此时你的程序中所发生的事,以及内存状态等. 4.动态的改变你程序的执行环境. gdb使用总旨:help指令很强大!多用help!help里面总会有你需要的信息.如果你不知道如何使用help,请在

gdb常用命令总结

1: 对于在应用程序中加入参数进行调试的方法: 直接用 gdb app -p1 -p2 这样进行调试是不行的. 需要像以下这样使用: #gdb app (gdb) r -p1 -p2 或者在运行run命令前使用set args命令: (gdb) set args p1 p2 可以用show args 命令来查看 2. 加入断点: break <linenumber> break <funcName> break +offset break -offset (在当前行号的前面或后面的

Linux GDB常用命令一栏

Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似于“(y/n)”,输入y 2.显示和查找程序源代码 (1)list :显示10行代码,但是我为什么没有显示成功呢? (2)list 5,10:显示源文件第五行到第十行的代码 (3)list t4.c:5,10:显示源文件中第五行到第十行的代码,在跳是含有多个源文件的次序时使用: (4)list ge

再探gdb常用命令

 前面已经有了一篇对gdb常用命令的总结,见 http://blog.csdn.net/u011848617/article/details/12838875 这里对目前学过的gdb命令进行了较完整的整理. 1.使用gdb调试代码,就要在编译时添加-g选项. 2.gdb -q ------ 启动gdb时不输出版权说明 3.gdb打开文件: (1)gdb filename: (2)先输入gdb,然后在gdb命令行输入file filename. 4.gdb选项(gdb中好多命令都有自己的简写字