首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux GDB常用命令一栏

Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明; (*** 表示可执行程序名) (2)退出:quit。...(2)list 5,10:显示源文件第五行到第十行的代码 (3)list t4.c:5,10:显示源文件第五行到第十行的代码,跳是含有多个源文件的次序时使用; (4)list get_sum:显示get_sum...(5)list t4.c :get_sum:显示源文件t4.c第五行到第十行的代码,跳是含有多个源文件的次序时使用; (6)如果在调试运行linux命令,则可以gdb的提示符下输入shell命令...如果要程序开始运行,gdb提示符下输入run即可。       ...Linux GDB命令与Visual Studio Debug下命令对比:                                 Linux

1.6K40

linuxgdb的入门使用教程

前言 gdblinux下非常好用的一个调试工具,虽然它是命令行模式的调试工具,但是它的功能强大到你无法想象,这里简单介绍下gdb的使用方法,需要的朋友们下面来一起看看详细的介绍吧。...break … if …可以是上述的参数,condition表示条件,条件成立时停住。比如在循环境体,可以设置break if i=100,表示当i为100时停住程序。...使用如下命令启动gdb: gdb -tui 项目名 或者启动gdb后, 输入命令focus,如图: ?...恢复程序运行和单步调试 gdb,和调试步进相关的命令主要有如下几条: continue 继续运行程序直到下一个断点(类似于VS里的F5) next 逐过程步进,不会进入子函数(类似VS里的F10)...threadno指定了线程的ID,注意,这个ID是GDB分配的,你可以通过”info threads”命令来查看正在运行程序的线程信息。

1.9K31
您找到你想要的搜索结果了吗?
是的
没有找到

Linux gdb使用基础

GDB简介 GDB(GNU Debugger)是Linux下一款C/C++程序调试工具,通过命令行执行相应的命令实现程序的调试,使用GDB时只需要在shell输入gdb命令或gdb filename...GDB主要有以下功能: 设置断点 单步调试 查看变量的值 动态改变程序的执行环境 分析崩溃程序产生的core文件 GDB常用命令 命令 简写 含义 file - 装入待调试的可执行文件 run r 执行程序.../gdbtest result=55 程序本电脑上运行正确,但是,该程序是存在问题的,add()函数的sum变量应该赋初值0,否则在其它电脑上运行,如果该变量被初始化了随机数,则会计算出错误的结果。...gdb) 找到原因,手动修改源程序,while循环体的开始处将sum赋值0修正程序问题。...参考: 《精通Linux C编程》- 程国钢 《Linux C编程完全解密》- 闫敬 吴淑坤

2.3K10

Linux调试器——gdb

gdb 什么是gdb debug与release gdb的基本操作 查看代码与断点 执行与调试 监视变量 什么是gdb 之前用的一直都是VS编译器进行调试,调试是一个非常重要的过程,Linux调试需要用到一个工具就是...调试思路上VS编译器和gdb是一样的,但是调试过程的差距就很大了。 我们都知道Linux的操作都是通过命令完成的,调试也是一样的,靠的就是命令调试。...gdb的基本操作 查看代码与断点 以下指令都是gdb环境下进行操作。 进入gdb模式发现连个代码都不知道在哪里,这怎么调试呢?...VS编译器,我们按F9是可以进行打断点的,再按一次可以取消: Linux进行打断点是:b 你要断点的行数 现在13行有一个断点,查看断点是info b: 断点也有自己的行,就是前面...gdb与F5功能类似的是r: 他会在第一个断点处停下来,再按一次不会到下一个断点,而是从头开始 查看断点的时候会告诉帮你第一个断点已到达一次,也叫命中一次。

3.7K00

LinuxLinux调试器-gdb使用

前言 在前面的博客【Linux】编译器-gcc/g++使用已经分享了关于编译器的使用,而编译器的使用离不开调试,这次就来分享一下Linux调试器-gdb使用。 2....debug版本,编译器形成可执行程序的时候,会给可执行程序添加调试信息。...vs里面要想启动断点,直接右击就会出现 而在gdb重新启动,想要用到命令: enable Num 重新启动3号断点: enable 3 发现这里的3号断点的Enb就变为y了 3.5 next...gdb想要实现逐过程就得用到命令: next/n 打了一个断点在17行: 然后用来实现逐过程调试:发现并没有进入到AddToTarget函数里面: 3.6 step/s逐语句 在在vs里面的...gdb想要进入到函数的内部就用命令: step/s 打了一个断点在17行: 然后用来实现逐语句调试:发现进入到AddToTarget函数里面: 发现这个代码就在7和9行之间反复执行:

10710

LinuxLinux调试器-gdb使用

背景 程序的发布方式有两种,debug模式和release模式 Linux gcc/g++出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上-g选项...初次使用时,需要先安装: sudo yum install -y gdb 使用 注意使用gdb时,调试的是debug模式。...s或step:进入函数调用 break(b) 行号:某一行设置断点 break 函数名:某个函数开头设置断点 info break :查看断点信息。...取消对先前设置的那些变量的跟踪 until X行号:跳至X行(中间的代码都是运行了的) breaktrace(或bt):查看各级函数调用及参数 info(i) locals:查看当前栈帧局部变量的值 quit:退出gdb...调试过程是可以修改变量的值的,用set var 修改变量。通常用来判断循环条件,这样做可能会导致最终的值不正确。

10200

Linuxgdb的使用

当我们能够windows下,使用vs 2019等编译器去进行调试的时候,我们可以将在Linux下使用gdb调试这两者之间进行对比: 调试这个操作,方法上有区别吗?...(Linux和windows)其实,调试思路上是一样的,调试的操作方式上一定不一样。 因此,在学习Linuxgdb调试时,一定要抓住我们的调试思路去学习。...Linux下,我们使用的是命令行调试。...因此,本章着重解析的是操作方法,不是思路: 首先我们先写好测试用的代码:  并且将代码写入makefile  接着开始调试:调试工具:gdb 使用gdb+需要调试的代码文件来开启调试模式: 但此时这里显示的是没有可调试的地方...Linux,用gcc/g++生成的软件程序是release版本! (这里顺便复习一下:gcc默认:动态链接、默认release) 所以,我们需要将其变成debug。

2.1K20

Linux工具学习之【gdb

进行调试了 调试打开与关闭 首先要学习如何打开和关闭 gdb 启动调试 我们调试的对象是已经生成的可执行程序,并非最开始的源文件 这很好理解,因为VS也是先编译、再调试 通过 Makefile...,那只能一步步的调试,效率很低,下面就来看看如何让程序 gdb 跑起来及断点相关操作 r 运行程序 gdb 能直接快速运行程序,假设没有断点,那么程序会直接运行出结果 (gdb) r //运行程序...其实此时可以直接把这个看作VS的黑框框,r 就相当于 F5 ,没有断点的情况下,程序会直接出结果的,而最终的结果值也会紧跟着输出 b 断点操作 断点在 gdb 中意为 breakpoint...查看变量类型 本文只是介绍了部分常用指令,关于 gdb 还有很多很多指令,一时半会是学不完的,感兴趣的同学可以去这篇文章里看看《GDB使用详解》 ---- 总结 以上就是关于Linux工具:gdb...Linux 使用场景更加丰富 如果你觉得本文写的还不错的话,期待留下一个小小的赞,你的支持是我分享的最大动力!

17820

LinuxLinux调试器--gdb的使用

---- ---- 一、gdb的介绍 1. gdblinux上面的调试器,是非图形化界面纯命令行调试的,用起来非常的麻烦! 2....安装gdb工具的命令 sudo yum install -y gdb 3....默认情况下,gdb无法进行对gcc现在发布的程序进行调试,因为gcc默认生成的软件是realease版本的,没有调试信息,无法被调试器gdb调试,并且gcc是默认动态链接的,如果想静态链接还需要加static...值得注意的是:每一个二进制程序不仅仅只是一堆二进制代码,他们内部都是有特定格式的,Linux形成的可执行程序是elf格式。...如果有断点,就停下来,如果没有断点就直接运行起来,如果想要跳到下一个断点,可以继续按fn+f5 2.取消调试:fn+shitf+f5 3.直接运行:fn+crtl+f5直接运行,有断点也不会调试 linux

3.5K30

Linux调试器-gdb使用

Linux gcc/g++出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项 生成Debug模式下的文件:gcc -o process-Dubeg...命令 为了演示gdb命令的使用方法,以下面这个代码为例: #include int AddToTarget(int start,int end) {...\n"); return 0; } ~ gdb binFile进入gdb环境,其中binFile是一个可执行程序 q或者quit指令可退出 list或者l:现实binFile...Fun_name:Fun_name是函数名,列出某个函数的源代码 如果有多个文件,你只想查找其中一个文件,可以l 文件名:num/Fun_name或者list 文件名:num/Fun_name Tip: gdb...run或者r:运行,类似于VS的F5 程序正常执行,这里程序只是运行,无法调试 b num或者b Fun_name:打断点,可以在行号num处打断点,可以名为Fun_name的函数处打断点。

9710

Linux系统下gdb调试(一)

Linux 下的GDB(GNU Debugger)是-一个用来调试C、C++程序的功能强大的调试器,它能够程序运行的过程中观察程序的内部结构和内存的使用情况。...3、gdb命令+实战演示: gdb的使用非常简单,只要在Linux的命令提示符下输入gdb命令,系统便会启动gdb。...下图是Linux下启动gdb的简单演示,具体会在下面的实战来演示: root@ubuntu-virtual-machine:/home/ubuntu# gdb GNU gdb (Ubuntu 8.1...(gdb) a、常用命令如下: b、断点命令: 暂时先介绍这些命令吧,我想网上大把的命令介绍,读者看到我把所有的命令都介绍一遍,估计都会看烦了,我还是以边演示,边讲解命令的形式来介绍为好...但是你Linux环境编译的时候会报一个警告,不会报错,不细心的人,可能平常习惯了说有警告没啥关系,然后就直接运行,可以后面没想到,出现了下面这种情况: 下面我们使用gdb来调试这个程序:

3.8K10

Linux】开始使用gdb吧!

1 下载安装 首先我们要确保已经安装gdb,可以通过 gdb -version来进行间接查看。 未安装使用sudo yum -y install gdb 下载安装即可。...相当于 F11 break(b) 行号:指定的行号设置断点。相当于 F9 break 函数名:指定函数的开头设置断点。 info break:显示所有断点的信息。...例如,ignore 1 main 会让断点1主函数上失效 info(或i) breakpoints:显示当前设置的所有断点。...这是因为 gdb操作的应该是编译后的文件 当编译时,未加 - g 选项,则进入gdb环境执行命令会出现No symbol table is loaded....print a:将显示整数 a 的值 print ++a:将把 a 的值加1,并显示出来 print name:将显示字符串 name 的值 print gdb_test(22):将以整数22作为参数调用

16810
领券