gdb 调试程序时, "No such file or directory."

嵌入式开发中GDB调试的核心原理与DSP实战技巧 在嵌入式系统开发中,调试器是连接高级语言逻辑与底层硬件执行状态的关键工具。其核心原理依赖于编译器在编译阶段嵌入的调试符号信息,通过建立源代码与机器码地址的映射关系,使开发者能在源码层面跟踪程序执行。这一技术对于排查复杂逻辑错误、优化代码性能具有重要价值,尤其在资源受限的嵌入式场景(如DSP、MCU开发)中,能显著提升问题定位效率。在实际应用中,GDB通过设置断点、单步执行、查看变量内存状态等功能,广泛应用于**算法验证**、**实时系统调试**和**崩溃分析**等场景。本文以Motorola DSP5600 阅读详情

gdb 调试程序时,出现:
Breakpoint 1, main () at test.c:5
5 test.c: No such file or directory.
原因: 原来在可执行程序中包含的调试信息(源代码)只是对源文件的一个链接
过程: 期间我尝试了很多arm-poky-linux-gnueabi-gcc关于调试的参数 -g -gdwarf-2 -O0等等,都不行, 最后搜索到https://www.hzscqda.cn/wenjian/18921.html这篇文章, 才提到可能跟源文件有关, 所以才想起来这个问题.
解决: 将源代码文件拷贝相应目录(保持编译后源文件与可执行文件的相对位置)
结论: 使用gdb调试时,要将源文件,可执行文件一同复制过去

参考链接:
https://www.hzscqda.cn/wenjian/18921.html

QT远程调试实战:gdb-multiarch+SSH部署嵌入式ARM应用 Qt远程调试本质是跨架构协同调试问题,核心在于解决x86_64主机与arm64目标板之间的指令集差异、符号映射断层和调试通道缺失。其原理依赖gdb-multiarch作为多架构反汇编桥梁,结合SSH构建二进制传输、进程控制与信号转发三位一体的调试管道。技术价值在于将本地IDE级调试能力(断点/变量/堆栈/QObject树)无损迁移至真实硬件环境,显著提升嵌入式Qt开发闭环效率。典型应用于工业HMI、车载终端、医疗设备等需现场验证的场景。本文聚焦QT Creator与gdb-multiarch深度集成、SSH 阅读详情

相关推荐

意图识别和纠错问题

可想而知,错误的意图识别会带来多大的负面影响。基于词典,就是对用户query内容和词典内容进行比对,比较常见的方式是序列标注问题里用的最大逆向匹配,通过这种方式找到词典里的实体词,匹配触发了自然就有意图了,而在词典匹配的时候,不是使用链表之类的来构造匹配结构,而是使用搜索树的结构,这种匹配的复杂度最低,速度也快,两者结合,其速度甚至比很多模型要快得多(基本上1ms以内就能完成),fasttext速度非常快,但是textcnn之类的其实就已经达到ms级别以上,bert甚至在10ms级别。

TURING.DT 4571

gdb调试出现No such file or directory

gdb调试出现No such file or directory 在调试gdb的时候老是出现了No such file or directory,这是因为源文件与可执行文件不在同一个目录下。在这里提供一个治标不治本的办法。 在这上面提示说这个malloc.c文件找不到。 解决办法: show debug-file-directory 查看当前的debug路径 set debug-file-directory 设置debug路径,这里为空。 路径为空之后,显然它就开始从本路径开始执行了 这种办法的

weixin_45062087的博客 1万+

山东大学FPGA课程实验一 加法器设计

电子设计自动化与FPGA设计,实验一 加法器设计

2503_91283667的博客 869

gbd, No such file or directory

然后就是进入了gbd模式,它提示no such file or directory,不慌。root/code/xxx/xxxx/这个是我的代码所在的文件夹路径。我看网上都是说要把debug的文件放在某个固定文件夹里,其实不必。就可以正常调试代码了。每次重新进入都要这样的set过程哦!我用的是core dump。所以linux一开始命令是。

weixin_44106777的博客 987

全网首发!Yolov8_obb旋转框训练、测试、推理手把手教学(DOTA1.0数据集map50已达80%)

其中,images/train和images/val放置原始图片文件,labels/train_original和labels/val_original分别放置原始的标签文件,labels/train和labels/val为空,然后运行步骤(3)的代码,运行结束转换后的标签会保存在labels/train和labels/val中,格式如下。(4)新建yolov8-obb.yaml,修改nc和scales,我使用的是yolov8n.(2)构建数据集,安装下面目录格式,其他test可为空,一定要对应。

小嘤熊的博客 2万+

ADS重新安装失败排查指南:从注册表清理到环境变量配置

本文详细解析了ADS重新安装失败的常见原因及解决方案,包括注册表残留清理、license路径锁定处理和环境变量配置。通过分步指南和实用技巧,帮助工程师高效解决安装问题,确保软件正常运行。

weixin_42524708的博客 455

gdb 调试,No such file or directory.

linux gdb 时,提示:No such file or directory.解决方法:指定src路径,使用 dir 命令,设置源码路径。

qqshuaishuai的博客 1959

【护网必备】Windows平台shellcode免杀加载器

bypass:McAfee、金山(数字签名)、火绒、ESET、卡巴企业版(时间5s 抖动50 Sleep_mask)、360全家桶(物理机)、Norton(加白程序资源)、WDF(PC)、WDF(Server)、Symantec(加白程序资源)bypass:金山(数字签名)、火绒、ESET、360全家桶(物理机)、WDF(PC)、WDF(服务器提示复查(关云保护))、McAfee、Norton(加白程序资源)、卡巴企业版(时间5s 抖动50 Sleep_mask)必须使用Bof操作,shell运行就掉线。

Fly_鹏程万里 1186

gdb No such file or directory

使用gdb来对可执行程序进行调试:gdb -tui main 在这个页面,如果退出输入q,继续回车 输入l直接报错,文件不存在。 网上有很多说法,有的说: 1. 可执行文件跟.go不在一个目录, 2. 也有的说是不同机器编译造成等, 3. 通过设置debug路径来解决。 上面三种方案小编也都进行测试了,问题没有解决。 后面脑回路清新了一下,再gdb进去后,不要先输入l, 直接输入b main.main,再次输入l就可以看到代码了。 代码调试的时候,各种问题都可能出现,有问题大家一.

小小程序员 2206

SmartFusion从FPGA到ARM(九)——串口命令解析器的实现

系列教程:SmartFusion从FPGA到ARM系列教程 前面两节介绍了MSS_UART和CoreUARTapb的使用: MSS_UART的使用 CoreUARTapb的使用 MSS_UART和CoreUARTapb都支持中断和轮询方式获取串口接收的数据,对于串口中断服务函数,有时我们需要通过不同的串口指令去执行不同的动作,下面以CoreUARTapb为例,来实现一个简单的串口命令解析器。固定串口数据帧格式,帧长度不定。 串口数据帧格式:* + 数据 + #,对于数据中为参数的,可以自定义处理函数。例

whik1194的博客 1535

CDD数据库文件制作(二)——服务配置(0x27)

主要根据诊断调查表,针对0x27服务在CDD中的每一步配置给出详细介绍 1.会话切换配置 1.1.根据诊断调查表进行信息提取 1.2.子功能添加 1.2.1.Level1安全等级1创建 1.2.2.Level3安全等级3创建 1.2.3.安全等级名字查看与修改 1.3.会话切换信息提取(应用程序下) 1.4.会话转换配置(应用程序下) 1.5.会话切换信息提取(引导程序下) 1.6.会话转换配置(引导程序下) 2.安全等级配置信息提取 2.1.安全访问配置(level1) 2.2.安全访问配置(level2

LOVE135149的博客 2929

GDB调试产生printf.c: No such file or directory.的问题

刚开始学GDB的使用,设置断点s(单句执行)执行的过程中,抛出错误,直接提示printf.c: No such file or directory.很头疼不知道啥问题。 百度找到了解决办法,并记录在此。 我的源码如下: #include <stdio.h> int main() { int a=100, b=200; int * p1=&a; int * p2=&b; void swap(int *p1,int

weixin_45880057的博客 3437

CE电流法测试中的dBμV负值解析

传导发射(CE)电流法测试中出现的dBμV负值现象表明被测设备干扰电平低于1μV参考基准。这源于对数计算特性(小于1μV的电压转换后为负值)、设备优良的EMC设计(如滤波效果显著)及测试环境的影响(LISN隔离、屏蔽室低噪声)。负值虽不代表实际负电压,但反映干扰水平优于标准限值,为系统集成预留电磁裕度。工程应用中需结合设备灵敏度、环境背景噪声等因素综合分析,避免误判,这类数据可用于评估EMI设计冗余度。

硬核科技 298

cuda-gdb提示:/tmp/tmpxft_***.cudafe1.stub.c: No such file or directory.

cuda-gdb:No such file or directory.

凳子花❀的博客 1989

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

gdb调试问题记录

记录一下gdb调试程序过程中遇到的一些问题,方便以后查找。 1. cannot exec file

liangchen0322的博客 1064

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

linux 中调试器 gdb 的使用

1.基本命令 1)进入GDB  #gdb test   test是要调试的程序,由gcc test.c -g -o test生成。进入后提示符变为(gdb) 。 2)查看源码  (gdb) l   源码会进行行号提示。   如果需要查看在其他文件中定义的函数,在

freeking101的博客 6311

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

linux gdb 进程,linux gdb详解

一.GDB命令详解在linux程序调成中gdb是最常用的工具。关于gdb的说明可以在linux下直接 man gdb或者gdb --help。GDB man手册翻译如下(英文水平有限,只能表达大体的意思):名称:gdb-gnu调试器概要:gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile...

weixin_42398130的博客 1246

大家一起用gtk编程4(使用GDB调试程序)

大家一起用gtk编程4(使用GDB调试程序)转载请注明出处:http://lvjinhua.cublog.cn作者:lvjinhua at gmail dot com2006.09.23 6、使用GDB调试程序上回话说使用Makefile来组织源代码,这回简单地介绍下如何使用GDB来调试我们的程序;关于GDB的其它应用将在后续的章节中逐渐深入。首 先需要肯定一点,GDB是

xbl1986的专栏 1744

【C++|Linux系统编程】GDB调试

简称GDB是GNU项目开发的一款功能强大的命令行调试工具。GDB支持多种编程语言(C、C++、Go、Rust等)和多种处理器架构(x86、ARM等),是系统程序员和应用程序开发者的必备工具。学习GDB调试最好的教程就是官方文档。但对于小白直接上手常看官方文档是有难度的,通关这篇博客带大家入个门,使大家能对GDB调试有个基本的掌握,然后再通过官方文档进行查漏补缺。

千禧皓月的博客 904

GDB中应该知道的几个调试方法

转自:http://coolshell.cn/articles/3643.html    原作者:陈皓

令狐少侠 804

GDB常用命令(1)--编译及命令行选项

GDB常用命令(1)--编译及命令行选项 发表于 2011 年 06 月 05 日 由 admin GDB常用命令 0. 编译 为了给GDB提供调试信息,编译源代码时应使用"-g"选项(GCC还提供了"-ggdb"可供使用)。 GCC支持同时使用"-g"与"-O"选项,但某些编译器不支持。 1. GDB命令行 命令行格式 gdb [opt

robertzhouxh的专栏 552

C 语言使用 gdb 调试

使用GDB调试C语言程序的过程。示例程序定义了一个字符数组s,赋值后通过printf输出,但实际输出与预期不符。通过GDB调试发现: printf被编译器优化为puts函数 由于字符串中间包含'\0'终止符,puts只输出了第一个字符 使用GDB的x/20bc命令查看内存,确认数组实际包含两个's'字符 文档还详细介绍了GDB的常用命令: 断点设置(b/break) 单步执行(n/next,s/step) 变量查看(p/print) 内存检查(x命令) 调用栈跟踪(bt/backtrace)

modelmd的博客 402

how to use debug version of libc

For instance I see Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done That implies that your GDB is not searching /usr/lib/debug. One way that could happen is if you set debug...

贾亮的专栏 397

gcc和gdb常用命令

gcc 命令的常用选项 选项 解释 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,例如 asm 或 typeof 关键词。 -c 只编译并生成目标文件。 -DMACRO 以字符串“1”定义 MACRO 宏。 -DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。 -E 只运行 C 预编译器。 -g 生成调试信息。GNU 调试器可利用该信息。 ...

weixin_30252155的博客 141

GDB调试入门:启动与附加进程的实战指南

程序调试是软件开发中定位问题、理解程序运行逻辑的核心技术。其基本原理是通过调试器控制目标程序的执行流程,实时监控内存、寄存器及变量状态,从而分析程序行为。在Linux环境下,GDB作为功能强大的命令行调试器,其技术价值在于提供了对程序运行状态的深度洞察能力,尤其适用于C/C++等系统级语言的故障排查。从应用场景来看,调试主要分为启动新进程调试和附加到已运行进程两种模式:前者适用于从程序入口开始的全流程跟踪,常用于开发阶段复现初始化问题;后者则用于诊断线上服务的运行时异常,如内存泄漏、死锁或性能瓶颈。本文聚焦

weixin_30700977的博客 350

【GDB调试学习笔记】调试程序段错误

教程地址:http://i.youku.com/i/UMzc4MjAyOTky?spm=0.0.0.0.ihB2ND

无敌三脚猫的专栏 697
上一篇: 常用函数
下一篇: 解决技术难题思路
returningprodigal
博客等级 码龄12年 53粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值