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

我在使用GDB 'find‘命令时做错了什么?

在使用GDB的"find"命令时,可能犯了以下几个常见错误:

  1. 错误的语法:GDB的"find"命令的语法如下: find [/size] [/count] [/value | /string] expression, address 其中,expression是一个C表达式,address是要搜索的内存地址。要正确使用"find"命令,需要确保语法正确,同时提供有效的expression和address参数。
  2. 错误的表达式:在"find"命令中,expression用于指定要搜索的值或字符串。如果使用了错误的表达式,可能无法找到预期的结果。确保expression正确,符合所需的搜索条件。
  3. 错误的内存地址:"find"命令需要提供一个有效的内存地址作为搜索的起点。如果提供的地址无效或者不正确,将无法找到预期的结果。请仔细检查并确保提供正确的内存地址。
  4. 忽略了必要的选项:"find"命令有一些可选的选项,如/size、/count、/value和/string。如果忽略了必要的选项,可能导致搜索结果不准确。请根据需要使用适当的选项。

总结起来,当使用GDB的"find"命令时,需要注意语法的正确性、正确的表达式、有效的内存地址和必要的选项。仔细检查并确保这些要素的准确性,即可正确使用"find"命令进行搜索。

(注意:以上回答中没有提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等品牌商,直接给出了完善且全面的答案内容。)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux中高频使用find命令回顾

-mtime -3 -print #查找更改时间3天之内的文件 > find . -mtime -2 -print #查找更改时间2天之前的文件 7、按大小查找文件 > find ....-name "[A-Z]*" -print 查找某个文件夹下面的哪些具体文件包含某一个字段 > find . | xargs grep "YZS" 11、查找并对结果相关操作 找到为文件类型为软连接的文件...-atime 2 找出两天之前的一天内被访问文件(距离现在的-72小 -48小之间) find ....-atime +2 找出两天之前,不包括两天之前的一天(也就是不包括-2和2的)之前的被访问的文件(离此时72小之前) 相关文章 linux中find命令的35个实际例子 Linux之find...xargs Linux之find命令参数总结 Linux之find命令

56710

Linux From Scratch(LFS11.0)构建 LFS 系统 - 移除调试符号

大多数使用以下命令的用户不会遇到什么困难。但是,如果打错了命令,很容易导致新系统无法使用,因此在运行 strip 命令前,最好备份 LFS 系统的当前状态。 一些库的调试符号需要保存在单独的文件中。...之后 BLFS 中,如果使用 valgrind 或 gdb 运行退化测试,则需要这些调试信息的存在。 需要注意的是,strip 命令会覆盖它正在处理的二进制程序或库文件。...为了避免这种情况,将一些库和程序复制到 /tmp 中,在那里移除调试符号,再使用 install 命令将它们安装回原位置。...-name \*dbg) \ $(find /usr/lib -type f -name \*.a) \ $(find /usr/{bin...---- 本次分享到此结束啦~ 如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是创作最大的动力。 ❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

81140
  • 使用VS GDB扩充套件VS上远端侦错Linux上的CC++程序

    Linux 上开发 C/C++ 程序,或许你会直接(本机或远端)登入 Linux,打开编辑器写完代码后,就用 gcc/g++ 来编译,遇到要除错(debug)的时候,则会选择使用 gdb 来进行除错...图: 应该有不少 Linux 上写程式的开发人员是这么工作的吧?   如何?   ...首先,你必须使用 Visual Studio 2015,你可以使用免费版[1]的 Visual Studio 2015 Community 或是其它更高等级的版本,记得安装要勾选 Visual C+...图: Visual Studio 中建立 Makefile Project (GDB)   建立项目后,启始画面就会有简单的说明如何连接远端的 GDB 来进行除错,照着应该就没有什么大问题了。...,并且使用 gdb 来进行侦错了

    78020

    GDB的调试艺术:热手篇

    原先使用Python很顺手,但是基于项目需求的原因需要转到c++开发,后者优点是效率高,缺点是技术难度大,最要命的是调试难度比python要大很多,于是又不得不把GDB应用的一些知识点捡起来。...,例如查看变量值等只不过挪动一下鼠标即可,但是gdb下你需要输出不少命令,好在一旦这些命令熟悉了,使用GDB的效率就会大大提高。...因此借此把GDB使用心得或学习内容记录下来,以后需要的时候还能查看。...break insert会让GDB每次运行进入函数insert就会中断,同时我们加了第二行命令,它告诉GDB进入函数insert后,还需要判断num_y等于1才要中断,这两句其实就对应所谓的条件断点...分别使用指令print k, print jj查看这两个变量的值,可以发现这两个值都是0,于是要么k的值错了,要么jj的值错了

    89630

    Linux系统下gdb调试(一)

    一、gdbgdb命令介绍+实战演示: 1、什么gdb呢?...而且光看命令是很难领悟的,读者在看到这里也最好是自己去敲命令体验一下,这样才能够快速掌握它(不过这里只是简单的使用比较喜欢TUI(TextUser Interface),它为GDB调试的文本用户界面...指定要给程序的参数作为“start”的参数命令。这些参数将被原原本本地提供给底层的“run”命令。注意,如果没有参数,则重用相同的参数随后调用' start '或' run '提供。...接下来开始单步运行: 注:上面里面使用了一个命令print(也可以简写p,一般gdb里面,命令可以简写命令的首个字母)来打印出变量n值。...下面继续程序的第21行和函数tempFunction设置断点: 说明: 使用“c”命令继续(Continue)执行被调试程序,程序将中断第二个断点(21行),此时全局变量 nGlobalVar

    4K10

    使用 GDB + Qemu 调试 Linux 内核

    /rootfs.img -append "nokaslr console=ttyS0" -s -S -nographic 使用上述命令启动调试,启动后会停止界面处,并等待远程 gdb 进行调试,使用...GDB 调试之前,可以先使用以下命令进程测试内核启动是否正常。...GDB 调试 使用 qemu-system-x86_64 命令启动内核以后,进入到我们从编译机器上拷贝过来的 Linux 内核源代码目录中,另外一个终端我们来启动 gdb 命令: [linux-4.19.172...start_kernel # 有些文档建议使用 hb 硬件断点,本地测试使用 break 也是 ok 的 (gdb) c # 启动调试,则内核会停止 start_kernel...Linux Kernel For Qemu (2015 Edition)[8] qemu 与 qemu-kvm 到底什么区别[9] qemu 环境中用 gdb 调试 Linux 内核[10] *

    6.8K20

    【Linux系统编程】Linux调试器——gdb 的基本使用

    经过之前的学习,我们已经能够Linux上编写代码、运行代码和通过git管理代码了。但是如何在Linux上调式代码我们还不知道,所以今天要学的是Linux调试器——gdb 的基本使用。 1....1.1 源文件和Makefile 所以,先来写一个代码,写一下Makefile 先写一个源文件test.c 然后写一下Makefile 然后我们来编译运行一下: 我们发现报错了 说的是...实际开发中,通常会使用 Debug 配置进行代码的开发、调试和测试,以便于快速定位和修复问题。而在准备发布软件,会切换到 Release 配置,以生成性能更高、体积更小的最终可执行文件。...接下来我们就来学习一下,gdb中常用的调式操作所涉及的命令 2. gdb的基本使用 2.1 显示代码 那调式的时候,首先我们得能看到代码啊 打开调式是这样的,那我们想看看代码怎么?...那gdb中与之对应的操作是什么呢? 首先逐过程: 开始调式,到16行的断点就停止了,对应的是一个函数调用。 如果想逐过程,直接走到下一句代码呢?

    38910

    技术分享 | Windows 下 MySQL 源码学习环境搭建步骤【建议收藏】

    3CentOS7 环境准备 实际上如果不是使用 Mac,那么使用 Ubuntu 应该是大多数研发人员的选择,使用 CentOS7 是因为更熟悉它,并且它更贴近于生产环境。...#但核数不是越高越好,有可能因为官方的构建文件没有处理好并发, #导致更高的并发编译直接报错,反正 -j8 时报错了 #如果追求安全,不加并发也是个选择,就是慢点 make -j2 && make...6.2 远程插件安装 C/C++(gdb 插件调试使用) 装完后,左侧会如图显示:分上下两栏。...远端的那个简体中文好像是 SSH 过去自动安装的,雨无瓜~~ 7调试 7.1 配置 VSCode 插件 cd /root/code/mysql-8.0.34 mkdir .vscode cd .vscode...也可以调试控制台中,用命令行执行更多 gdb 命令

    88041

    交叉编译问题记录-嵌入式环境下 GDB使用方法

    一般来说,程序运行在什么平台,处理的就是什么平台,此参数值和 --host 参数相同,不需显式指定所以通常不会关注到此参数。...GDB 交叉编译与使用实例 嵌入式平台中使用 GDB 时会用到 GDB 的远程 (remote) 调试模式:目标板上通过 gdbserver 运行待调试的程序,宿主机上运行 gdb 并通过 'target...各种调试命令宿主机上输入,程序执行效果(包括打印)目标板上展示,这很容易理解,因为正在调试的程序本来就是目标板上运行的。...遗留问题 交叉编译过程中,一般使用交叉编译工具链的前缀作 --host 及 --target 的值;--build 参数一般不指定,编译自动推测。...这些都是实践层面,一般就算写错了,试一试都能编译通过。而对平台描述的定义,即 --build、--host 及 --target 的值的具体取值规则,没有找到正式的出处和定义,是的,网上没查到。

    3.1K00

    利用QEMU+GDB调试Linux内核

    可以从busybox官网地址下载最新版本,或者直接使用wget下载使用的版本。...断点不能命中; -s :监听 gdb 1234 端口; -S :表示启动后就挂起,等待 gdb 连接; -nographic:不启动图形界面,调试信息输出到终端与参数 console=ttyS0 组合使用...,启动GDP调试时报错了查阅了诸多资料后,很多博客都给出了修复方法:源码重新安装gdb,并修改gdb/remote.c文件的一段代码。...但是尝试了,发现行不通。 出现该问题的原因是:编译 的是64 位模式的内核代码,但是运行是 32 位保护模式下。64 位代码将无法该环境中正常运行。...Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb

    3.3K20

    用STM32MP1做了个疫情监控平台2—Qt环境搭建

    例如,Windows写了一个串口助手,这套代码不用修改,放在Linux环境下的Qt开发环境,重新编译,就可以生成可以Linux环境下运行的串口助手,当然,Qt支持的环境有很多。...接着需要将 Qt 库复制两份,一份放置开发主机上,供编译使用;一份放在目标板上,供运行时动态加载使用。...可以使用find搜索命令,搜索本地所有Qt相关的文件: #进入到根目录 cd / #搜索qt相关的文件 find -name "*Qt*" #或者 find -name "*qt*" 如果搜索结果有很多...连接HDMI显示器或RGB显示屏,使用的是7寸IPS屏,1024*600分辨率。 开发板运行效果: ? 5.一些问题 交叉编译时报错 桌面Qt套件编译,正常。...复制完成之后,再编译就不会报错了

    2.4K10

    内核调试黑魔法:对QEMU自身进行调试,从而定位DragonOS问题

    之前,我们会使用gdb连接到qemu,来获取DragonOS虚拟机里面的一些数据。但是,当涉及到驱动程序、中断及内存管理,我们有时候实在看不出自己的问题在哪里。...本文中,将讲解调试QEMU自身的思路。...接着再返回来看DragonOS里面的硬件相关代码,判断它到底是哪里写错了。 编译安装qemu 调试之前,我们需要先编译安装QEMU。...整体流程如下: gdb通过该脚本启动 GDB加载qemu-system-xxxx作为要调试的文件 GDB设置断点 调试脚本中,运行qemu的命令,启动虚拟机。...触发这个断点,人工判断满足条件(是我们要调试的上下文),就开启所有的普通断点。这样的话就能快速准确的定位到要调试的上下文。(不然的话断点太多了我们都不好判断)。

    1.1K10

    小白如何学好linux?

    下载它们的镜像文件,刚开始建议windows下装个VirtualBox,vmware有点臃肿了。对于初学者当然建议是装ubuntu了,安装简单中文支持的不错。...第二步学习系统基本更新操作和常用命令 安装linux系统后我们首先要做的是配置网络及更新,跟windows一样,一些东西要更新后才能使用,如ubuntu用sudo apt-get update; sudo...掌握一些常用的命令 ls、rm、mv、cp、find、grep等等。...熟悉系统目录的名称及用途,学会用mount命令访问其他文件系统,了解vi,gcc,gdb等常用编辑器,编译器,调试器,不懂的命令操作上网百度求人不如求己。...而Linux系统有一个非常大的好处是,当程序执行错误或系统设置错误时,通常都会显示一大段错误信息告诉你哪里出错了,你只要好好看懂这段信息,大概就知道问题出现在哪里应该如何解决了。

    1.7K70

    eclipse开发c++cout和endl报错

    大家好,又见面了,是全栈君。 1.Symbol ‘cout’ could not be resolved , 选择kepler版本号就不报错了。 2. 下载gdb, ....eclipse中配置gdb(mac版本号) 由于直接用gdb调试的话,会出现没有权限的情况。...因此须要制作一个keychain给gdb 打开钥匙串訪问 点击屏幕左上角的钥匙串訪问,点击:钥匙串訪问–>证书助理–>创建证书 例如以下图: 依照下图配置: 选择代码签名和让覆盖这些默认值...双击gdb-certificate,选择“总是信任” 调回到Terminal界面下,输入下面命令: sudo codesign -s gdb-certificate /usr/local/bin/...gdb debug configuration中配置gdb,例如以下: 改动gdb为/usr/local/bin/gdb,这样才干找到gdb 然后就能够正常调试,第一次调试的时候要输入管理员账号

    66920
    领券