gdb 调试记录

文章目录

    • 汇编单步(ni)
    • 设置程序运行参数(set args)
    • 查看寄存器内容(info register)
    • 打印变量(p)
    • 指定文件指定行设置断点(b)
    • 反汇编(disassemble)
    • 查看栈帧(backtrace)
    • 查看当前函数的局部变量(info locals)
    • gdbserver
    • 问题一:unknown architecture "arm"

汇编单步(ni)

(gdb) ni

设置程序运行参数(set args)

set args <参数>

(gdb) set args -l

查看寄存器内容(info register)

(gdb) info register

打印变量(p)

(gdb) p a
$1 = (int *) 0x80d73a14 <b>
(gdb) p *a
$2 = 10

指定文件指定行设置断点(b)

(gdb) b test.c:5

反汇编(disassemble)

disassemble <函数名>

(gdb) disassemble main

查看栈帧(backtrace)

(gdb) backtrace

参考:gdb 笔记(08)— 查看栈回溯信息、切换栈帧、查看帧信息

查看当前函数的局部变量(info locals)

查看当前栈帧(函数)的局部变量
Local variables of current stack frame

(gdb) info locals

gdbserver

参考:gdb远程调试

问题一:unknown architecture “arm”

target remote 127.0.0.1:1234 时,提示:
warning: while parsing target description (at line 1): Target description specified unknown architecture “arm”

liyongjun@Box:~/project/board/buildroot/Vexpress/build/linux-6.1.44$ gdb vmlinux 
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:<http://www.gnu.org/software/gdb/documentation/>.For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from vmlinux...
(gdb) target remote 127.0.0.1:1234
Remote debugging using 127.0.0.1:1234
warning: while parsing target description (at line 1): Target description specified unknown architecture "arm"
warning: Could not load XML target description; ignoring
Truncated register 16 in remote 'g' packet
(gdb) q

解决:
使用正确架构的 gdb:arm-linux-gdb

liyongjun@Box:~/project/board/buildroot/Vexpress/build/linux-6.1.44$ ../../host/bin/arm-linux-gdb vmlinux

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/722570.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot自定义注解+反射实现 excel 导入的数据组装及字段校验

在前段时间的开发工作中&#xff0c;接手了一个很简单&#xff0c;很普通的开发任务。 要求实现一个单表的基础数据的批量导入功能。 评估下来&#xff0c;用户每次批量导入的数据量也就几千条&#xff0c;也不大。 是不是很简单&#xff0c;没有骗你们吧。但是呢&#xff0…

为什么说重写equals方法也要重写hashCode方法。

equals与hashCode 在Java中&#xff0c;重写 equals() 方法时&#xff0c;通常也需要重写 hashCode() 方法&#xff0c;这是因为在Java中&#xff0c;如果两个对象相等&#xff08;即 equals() 方法返回true&#xff09;&#xff0c;它们的哈希码应该相等&#xff0c;即 hashCo…

嵌入式系统中集成人工智能和机器学习算法来实现智能决策和自主学习

嵌入式系统中集成人工智能和机器学习算法来实现智能决策和自主学习 1. 引言 嵌入式系统是一种专门设计用于特定应用的计算机系统&#xff0c;它通常内置在其他设备中。随着人工智能和机器学习技术的快速发展&#xff0c;将这些先进的算法集成到嵌入式系统中已成为可能。通过集…

TB-03F-Kit 基础AT指令的使用

文章目录 前言一、使用前准备1. 确保TB-03F-Kit已经连接到电脑&#xff0c;并且已经烧录好固件。2. 准备号调试助手&#xff0c;并且电脑上已经安装好了串口驱动3. 打开串口调试助手并复位模组 二、指令介绍三、基础指令1. 准备测试2. AT 测试指令3. ATHELP 查看指令4. ATRST 模…

阻塞队列介绍

阻塞队列 kafka是目前来说性能最好的消息队列服务器&#xff0c;能处理TB级别的数据 作用:点赞、评论时&#xff0c;服务器会自动给某个用户发送通知 kafka是个框架&#xff0c;如果不用框架还要解决类似问题&#xff0c;就要用到阻塞队列 BlockingQueue 阻塞队列就是一个…

AI加速引擎PAI-TorchAcc:整体介绍与性能概述

作者&#xff1a;沈雯婷、黄奕桐、艾宝乐、王昂、李永 1、简介 PAI-TorchAcc(Torch Accelerator)是阿里云人工智能平台开发的Pytorch上的大模型训练加速框架。 PAI-TorchAcc提供了一套基于Pytorch的简洁、易用的接口&#xff0c;无需进行模型转换就可以无缝地接入HuggingFac…

云平台部署与管理

云计算与虚拟化 01、云计算和虚拟化的关系是什么 虚拟化是一种技术,顾名思义,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、在分配 云计算是一种服务模式,其思想就是把各种资源整合起来,然后租给有需要的用户 云计算就是利用了虚拟化…

题目 1600: 蓝桥杯-s01串

题目描述: s01串初始为" 0" 按以下方式变换 0变1&#xff0c;1变01 代码: public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();String str "0";for (int i 0; i < n;…

Vue+OpenLayers7入门到实战目录

前言 本篇作为《VueOpenLayers7入门到实战》所有文章的二合一汇总目录&#xff0c;方便查找。 本专栏源码是由OpenLayers7.x版本结合Vue框架编写。 本专栏从Vue搭建脚手架到如何引入OpenLayers7依赖的每一步详细新手教程&#xff0c;再到通过各种入门案例和综合性的实战案例&a…

基于springboot+vue的体育馆管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

已经连接过github远程库,如何再次推送及删除远程库的内容

基于上次将文件推送到已经建好的github远程库上&#xff0c;此篇文章主要介绍如何再次推送文件去直接已经连接过的远程库&#xff0c;以此如何删除远程库中不想要的文件。 一、推送文件到远程库 1.将所需推送的文件拉入本地库所建的文件夹下&#xff1a;{ex&#xff1a;JVM相…

leetcode 121.买卖股票的最佳时机

声明&#xff1a;以下仅代表个人想法&#xff0c;非官方答案或最优题解&#xff01; 题目&#xff1a; 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的…

java面试(消息队列MQ)

MQ有什么用&#xff1f;有哪些场景&#xff1f; MQ&#xff08;MessageQueue&#xff09;消息队列。队列&#xff08;FIFO&#xff09;先进先出的数据结构&#xff0c;消息由生产者发送到MQ&#xff0c;后由消费者对消息进行处理。QQ&#xff0c;微信就是MQ场景。 MQ作用&…

搜索准确性提升 20%,Jina Reranker 成为 RAG 优化的新标杆!

在整合大型语言模型&#xff08;LLM&#xff09;到业务流程时&#xff0c;企业经常会遇到一些头疼的问题&#xff0c;比如怎样保持数据时效性、避免幻觉现象&#xff0c;以及如何保护数据安全等等。为了解决这些问题&#xff0c;检索增强生成&#xff08;RAG&#xff09;技术应…

盘点国内大厂的10个AI创作工具,看看你都用过哪些?

国内大厂的 AI 创作工具&#xff0c;目前已经非常多了&#xff0c;而且有很多都是大家耳熟能详的。 下面整理了一些&#xff0c;包含 AI 绘画、AI 视频、AI 智能体、AI 大模型等多个方向的国内大厂 AI 创作工具。 发现有几款 AI 工具&#xff0c;还真的非常好用。看看这些 AI…

如何改变ByteBuf里面的内容

前言 这两天学习Moquette&#xff0c;对ByteBuf做了点研究&#xff0c;对于maxCapacity有了进一步了解。 一、ByteBuf是什么&#xff1f; 最早是在netty中有接触&#xff0c;这算是是核心了&#xff0c;有很多文章进行介绍&#xff1a; Netty(7)源码-ByteBufJava ByteBuf 写…

深入浅出Redis(三):Redis数据的存储、删除以及淘汰

引言 Redis是一款基于键值对的数据结构存储系统&#xff0c;它的特点是基于内存操作、单线程处理命令、IO多路复用模型处理网络请求、键值对存储与简单丰富的数据结构等等 本篇文章不像以往文章围绕Redis某个特点来讲解&#xff0c;而是作为过渡介绍&#xff0c;来说一说Redi…

基于springboot的大型商场应急预案管理系统论文

大型商场应急预案管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了大型商场应急预案管理系统的开发全过程。通过分析大型商场应急预案管理系统管理的不足&#xff0c;创建了一个计算机管理大型商场应急…

c语言中的likely 与 unlikely使用

__builtin_expect 是 GCC 编译器提供的一个内建函数&#xff0c;用于帮助编译器优化条件跳转&#xff0c;提升程序的运行效率。 __builtin_expect 接收两个参数&#xff0c;如 __builtin_expect(EXP, N)&#xff0c;其含义是 EXP N 的概率很大。也就是说&#xff0c;这个函数…

软件测试开发环境、测试环境、准生产环境、生成环境

在一个项目开发到发布的整个过程中&#xff0c;会使用到很多个环境进行测试和运行项目。最基本的开发环境、测试环境、准生产环境、生成环境 一、开发环境 开发环境顾名思义就是我们程序猿自己把项目放到自己的电脑上&#xff0c;配置好以后&#xff0c;跑起来项目&#xff0…