首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【linux】gdb

    01.gdb使用 程序的发布方式有两种,debug模式和release模式 Linux gcc/g++出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上...-S 选项用于显示 ELF 文件的节头部信息(section headers)。...通过这个命令,你可以查看包含在 ELF 文件中的不同节(section),这些节可能包括代码段、数据段、符号表、字符串表等 #include int AddToTarget(int a...\n"); return 0; } gdb binFile 退出: ctrl + d 或 quit 调试命令: list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。...list/l: l文件名:行号/函数名,I行号/函数名 list/l 函数名:列出某个函数的源代码。 r或run:运行程序。

    11610

    【Linux】GDB调试

    GDB调试 GDB是GUN发布的一个强大的程序调试工具,也是Linux程序员不可或缺的一大利器。 安装GDB 注意安装你所需要的版本。...设置第二行为断点 break 2 ---- 查看断点 info info break ---- 删除断点 delete delete + 断点编号 delete 2 clear clear 删除指定位置的所有断点...也可指定执行行数。 例1: n 例2: n 3 continue continue命令继续执行,直到遇到下一个断点。缩写为c。...s ---- 监视变量 print 调试程序最基本的需求就是监视变量的值,可以使用print命令,缩写为p,显示指定变量的值。...watch count ---- 临时修改变量 set var 某些情况我们需要让程序进入一些特殊的流程,例如进入了一个循环,我们可以修改控制循环变量的值,来跳转到指定的循环次数。

    3.7K50

    初识Linux · 有关gdb

    前言: 当我们Linux学到了这里的时候,我们大概会有一种感觉是,从VS2022转战Linux,写代码对我们来说是一种重新构建读写代码的一个过程,从文本编辑器,到文本编译器,再到今天的调试器gdb,读写代码的每个部分在...Linux这里都是单独拉出来的,所以不免许多人会感受到困难,甚至于某些简单的代码在Linux这里都有点感觉晦涩难懂了,但是呢,难关总会过去的,咱们今天把gdb一看,我们就能再跨越代码的一大关卡 - 调试...2 gdb的使用 首先,我们知道,在vs常用的技巧有,逐语句调试,逐过程调试,打断点,和断点配套的F5调试,监视窗口,跳转到指定行调试等。 那么我们在gdb里面要做的,也就是这些事。...首先进入调试很简单,就是gdb + 可执行文件。但是前提是已经用gcc -g生成了二进制的调试文件,此时才可以使用gdb进行调试。...打断点用到的命令是Breakpoint,简称b,对应的操作有b 文件名:函数名/行号,或者直接b 函数名/行号: 那么断点就打好了,在VS里面,断点很显眼的来了个大红点,但是Linux中打了断点我们应该如何查看呢

    7410

    Linux如何生成指定大小的文件

    在一些依赖磁盘空间的测试中,或者需要一些大文件时,最好的办法是快速生成指定大小的文件 fallocate命令(推荐) 可以直接分配一个指定容量的真实大小文件,且速度很快。...用法: fallocate -l 5G test.txt --创建一个大小为5G的真实文件(ls ,du都能看到5�G) dd命令 #创建一个5G大的test.txt文件 dd if=/dev/zero...of=test.txt count=10 bs=512M #创建一个5G大的test.txt文件,但显示容量为10G dd if=/dev/zero of=test.txt count=10 bs...=512M seek=10 count 块数量,bs是块大小,seek是从多少块后开始写真实数据 truncate命令 #创建一个10G大的虚拟文件,真实大小是0 truncate -s 10G...10g.txt 文件大小有真实大小和虚拟大小,du命令计算出来的大小是真实大小(du -sh *),ls看到的是虚拟大小 参考 fallocate快速创建大文件

    8K50

    Linux下使用rm删除文件,并排除指定文件

    rm是我们在Linux下删除文件经常用到的命令,但是有时候我们目录下有很多个文件想要删除,偏偏却要保留其中1个或几个文件,那怎么办呢?...很多新手朋友可能会采取一个一个文件删除的方法来操作,但是如果文件很多呢?删到啥时候啊~~ 今天我们就来教大家使用rm命令删除文件的时候如何排除指定的文件(不删除指定文件)。...1、删除单个文件 rm 1.txt 2、强制删除文件,无需确认 rm -rf 1.txt 3、删除文件夹 rm -rf mydir 4、删除目录下全部文件,包括文件夹 rm -rf * 5、删除全部文件...然后我们再次执行前面的命令就可以看到文件已经全部删除了,只保留了1.txt rm -rf !(1.txt) 6、删除全部文件,保留1.txt和2.txt rm -rf !...这里我们要特别注意grep的-v参数,-v参数表示反选,比如我们上面指定了-v 1.txt,即排除掉1.txt,选中其他全部文件。

    11.2K30

    Linux调试器——gdb

    gdb 什么是gdb debug与release gdb的基本操作 查看代码与断点 执行与调试 监视变量 什么是gdb 之前用的一直都是VS编译器进行调试,调试是一个非常重要的过程,在Linux中调试需要用到一个工具就是...在调试思路上VS编译器和gdb是一样的,但是调试过程的差距就很大了。 我们都知道Linux的操作都是通过命令完成的,调试也是一样的,靠的就是命令调试。...Linux环境下,gcc/g++编译出来的可执行程序默认是release模式 先来写一个程序验证一下 进入调试模式 gdb 你要调试的文件 后面的on debugging symbols...debug与release文件内部的区别 这里要借助一个工具来查看里面的内部文件: readelf -S 你要查看的文件 先看release版本的: debug版本: 这里就有...常显示变量:display 变量 删除常显示变量:undisplay 监视变量列表中的序列 如果这个循环没问题,想跳出循环,调整至指定行:until 代码行数 跳转只会跳转到有效行数

    3.8K00

    linux工具---gdb调试~~进程

    1.gdb的简单介绍 1.1程序发布版本 程序的发布一般都是两个版本,debug模式和release模式,在linux里面的gcc/g++编译出来的这个结果默认就是release模式,要想使用这个gdb...进行调试,这个时候就必须在表一的时候加上-g选项,在debug的模式下面进行; 1.2前期准备 我们时候要进行安装gdb和环境的搭建,这个gdb好像是默认就有的,我们可以使用这个gdb --version...调试开始和结束 gdb后面加上这个当前目录下面的生成的文件的名字,出现的这个括号gdb加上这个闪动的光标就是想要我们输入这个调试的相关的指令; 我们输入q之后按下enter键就可以结束这个程序的调试过程...; linux里面使用双向链表组织进程 2.4查看进程 查看进程的指令就是ls /proc,这个proc实际上就是一个linux下面的目录; 当前目录概念:我们创建一个文件,我们没有去指定这个文件的位置...,但是这个系统会在当前的目录下面去自动的创建一个文件,这个是因为进程记住自己所在的目录,所以即使我们没有指定这个位置,他也会在当前的目录下面进行文件的创建; kill -9 进程编号 这个指令就可以叉掉这个进程

    10610

    Linux下使用rm删除文件,并排除指定文件

    rm是我们在Linux下删除文件经常用到的命令,但是有时候我们目录下有很多个文件想要删除,偏偏却要保留其中1个或几个文件,那怎么办呢?...很多新手朋友可能会采取一个一个文件删除的方法来操作,但是如果文件很多呢?删到啥时候啊~~ 今天我们就来教大家使用rm命令删除文件的时候如何排除指定的文件(不删除指定文件)。...1、删除单个文件 rm 1.txt 2、强制删除文件,无需确认 rm -rf 1.txt 3、删除文件夹 rm -rf mydir 4、删除目录下全部文件,包括文件夹 rm -rf * 5、删除全部文件...(叹号)来排除文件的,下面我们搞个高深一点的,用find + grep + xargs三个命令一起用 7、删除全部文件,保留1.txt find * | grep -v 1.txt | xargs rm...这里我们要特别注意grep的-v参数,-v参数表示反选,比如我们上面指定了-v 1.txt,即排除掉1.txt,选中其他全部文件。

    5.2K20
    领券