编译gdb:在x86虚拟机上,加载分析arm程序及崩溃

  • 目标

在X86虚拟机上,加载arm程序及崩溃。

最早我想的是编译一个arm版本的,在虚拟机上显然不能使用。

后来同事跟我说,可以编译一个在虚拟机上,分析arm的gdb,我觉得好神奇。事实证明确实可以。

  • 首先不能使用已编译的,尤其是别人已经编译。
  • 下载

linux编译gdb-CSDN博客

  • 编译

指定输出目录,方便使用。

指定前缀,方便识别。

编译脚本:

CROSS_NAME=aarch64-mix210-linux
GDB_DIR=${HOME}/build_gdb
make clean
make diskclean./configure \--prefix=${GDB_DIR} \--target=${CROSS_NAME} \--host=x86_64-linux-gnu \--program-prefix=${CROSS_NAME}- \--without-x \--disable-werrormakemake install
  • 检查
cd ${BUILD_GDB}/bin
ls -l
-rwxr-xr-x 1 root root 77400424  5月 15 16:23 aarch64-mix210-linux-gdb*
-rwxr-xr-x 1 root root     3270  5月 15 16:23 aarch64-mix210-linux-gdb-add-index*
-rwxr-xr-x 1 root root  9668912  5月 15 16:23 aarch64-mix210-linux-run*
  • 加载,显示配置
./aarch64-mix210-linux-gdb
GNU gdb (GDB) 8.3
Copyright (C) 2019 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 "--host=x86_64-linux-gnu --target=aarch64-mix210-linux".
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".(gdb) show configuration
This GDB was configured as follows:configure --host=x86_64-linux-gnu --target=aarch64-mix210-linux--with-auto-load-dir=$debugdir:$datadir/auto-load--with-auto-load-safe-path=$debugdir:$datadir/auto-load--without-expat--with-gdb-datadir=/home/weiyu/build_gdb/share/gdb (relocatable)--with-jit-reader-dir=/home/weiyu/build_gdb/lib/gdb (relocatable)--without-libunwind-ia64--without-lzma--without-babeltrace--without-intel-pt--disable-libmcheck--without-mpfr--without-python--without-guile--disable-source-highlight--with-separate-debug-dir=/home/weiyu/build_gdb/lib/debug (relocatable)("Relocatable" means the directory can be moved with the GDB installation
tree, and GDB will still find it.)
(gdb) 
  • 分析

这个我也没有仔细用过。

./build_gdb/bin/aarch64-mix210-linux-gdb camera core-1277 
GNU gdb (GDB) 8.3
Copyright (C) 2019 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 "--host=x86_64-linux-gnu --target=aarch64-mix210-linux".
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 camera...
[New LWP 1316]
[New LWP 1277]
[New LWP 1281]
[New LWP 1282]
[New LWP 1284]
[New LWP 1302]
[New LWP 1289]
[New LWP 1295]
[New LWP 1304]
[New LWP 1285]
[New LWP 1314]
[New LWP 1299]
[New LWP 1297]
[New LWP 1293]
[New LWP 1305]
[New LWP 1309]
[New LWP 1301]
[New LWP 1286]
[New LWP 1294]
[New LWP 1298]
[New LWP 1307]
[New LWP 1311]
[New LWP 1306]
[New LWP 1292]
[New LWP 1290]
[New LWP 1308]
[New LWP 1312]
[New LWP 1296]
[New LWP 1313]
[New LWP 1300]
[New LWP 1287]
[New LWP 1303]
[New LWP 1315]
[New LWP 1310]
[New LWP 1283]
[New LWP 1291]
[New LWP 1288]warning: Could not load shared library symbols for 9 libraries, e.g. /lib64/libzlog.so.2.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
Core was generated by `./camera'.
Program terminated with signal SIGSEGV, Segmentation fault.#0  0x000000000058f83c in http_set_zoom_res (id=id@entry=1006, p_root=p_root@entry=0x7f080021c0, pbody=0x7f26ffc148 "", pbody@entry=0x7f26ffc168 "", pbody_len=0x7f26ffc94c, pbody_len@entry=0x7f26ffc96c)
--Type <RET> for more, q to quit, c to continue without paging--at /home/weiyu/d861t_app_src/app/web/http/http_proto_parse.cpp:933
933		}[Current thread is 1 (LWP 1316)]
(gdb) 

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

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

相关文章

【Maven】属性

Maven中的属性&#xff08;Properties&#xff09;是pom.xml文件中用于存储配置信息的元素。这些属性可以是项目级的、用户级的或者系统级的&#xff0c;并且可以在整个pom.xml文件中通过${属性名}的格式进行引用。Maven属性为配置管理提供了很大的灵活性。 以下是Maven中不同类…

第十七篇:数据库性能优化的数学视角:理论与实践的融合

数据库性能优化的数学视角&#xff1a;理论与实践的融合 1. 引言 在现代信息技术快速发展的背景下&#xff0c;数据库性能优化已经成为计算机科学领域的一个热点问题。随着数据量的爆炸式增长和用户需求的多样化&#xff0c;数据库系统所承载的数据处理任务变得越来越复杂&…

Redis第17讲——Redis zset结构实现滑动窗口限流

一、什么是滑动窗口限流 滑动窗口限流是一种流量控制策略&#xff0c;用于控制在一定时间内允许执行的操作数量或请求频率。它的工作方式类似于一个滑动时间窗口&#xff0c;对每个时间窗口的请求数量进行计数&#xff0c;并根据预先设置的限流策略来限制或调节流量&#xff0…

[muduo网络库]——muduo库InetAddress类(剖析muduo网络库核心部分、设计思想)

接着之前我们[muduo网络库]——muduo库EventLoopThreadPool类&#xff08;剖析muduo网络库核心部分、设计思想&#xff09;&#xff0c;我们接着看完除去TcpServer的最后一个InetAddress类。InetAddress 类是 muduo 网络库中的一个重要类&#xff0c;用于表示网络中的 IP 地址和…

maven deploy项目发布到中央仓库GPG签名失败signing failed: No secret key

maven deploy项目发布到中央仓库GPG签名失败signing failed: No secret key 执行操作 在我执行命令打包项目到中央仓库时失败 mvn clean deploy错误信息 [INFO] --- gpg:3.1.0:sign (sign-artifacts) LocalCache --- [INFO] Signing 4 files with 9961AA14xxxxxxxxxxxxxxD…

Ps 滤镜:彩色铅笔

Ps菜单&#xff1a;滤镜/滤镜库/艺术效果/彩色铅笔 Filter Gallery/Artistic/Colored Pencil 彩色铅笔 Colored Pencil滤镜用于模拟用彩色铅笔手绘的艺术效果&#xff0c;它能够在纯色背景上重新绘制图像&#xff0c;同时保留边缘细节并显示出粗糙的阴影线。此滤镜特别适合用于…

STM32HAL库-中断篇

中断 中断简介 中断是一种事件处理机制&#xff0c;可以暂停主程序的运行&#xff0c;转而处理特定事件程序。 中断的作用和意义&#xff1a; 实时控制 在确定事件内对响应事件做出相应 故障处理 检测到故障需要第一时间处理 数据传输 如串口通信&#xff0c;不确定数…

cgicc开发 (结合jsoncpp)

#include <iostream> #include <fstream> //读写文件 c标准库 #include <string> //字符串类 c标准库 #include <sstream> //字符串流 c标准库 #include <assert.h> #include "json/json.h" //jsoncpp的头文件#include <cgicc/CgiD…

Java基础(37)XSS攻击、SQL注入攻击、CSRF攻击

XSS攻击&#xff08;跨站脚本攻击&#xff09; 定义&#xff1a;XSS&#xff08;Cross-Site Scripting&#xff09;攻击是指攻击者在目标网站上注入恶意的客户端脚本&#xff0c;当其他用户浏览该网站时&#xff0c;嵌入在网页中的这段脚本会被执行&#xff0c;从而达到攻击的…

<sa8650>QCX Usecase 使用详解—拓扑图 XML 定义

<sa8650>QCX Usecase 使用详解—拓扑图 XML 定义 一 、前言二、拓扑图 XML 定义2.1 <Node, port, link>2.2 < XML prolog >2.3 < UsecaseDef >2.4 < Usecase>2.5 < Targets>2.5.1 < Target>2.5.2 < Range>2.6 < Pipeline>2.…

C++之lambda【匿名函数】

1、语法 语法结构&#xff1a; [捕获列表](参数列表) mutable(可选) 异常属性 -> 返回类型 {// 函数处理 }注意&#xff1a; 一般情况下&#xff0c;编译器可以自动推断出lambda表达式的返回类型&#xff0c;所以我们可以不指定返回类型。 但是如果函数体内有多个return语…

维修ABB示教器主板DSQC679 3HAC 033624-001 /R机器人液晶显示屏

ABB 全面的 6 轴关节型机器人产品组合为物料搬运、机器维护、点焊、弧焊、切割、组装、测试、检查、分配、研磨和抛光应用提供了理想的解决方案。 ABB 的协作机器人适用于各种规模的操作中的各种任务。它们易于设置、编程、操作和扩展。由行业领先的专家打造。并由业内最广泛的…

Nacos如何实现负载均衡?

作为一名资深的架构师&#xff0c;我深知在微服务架构中&#xff0c;负载均衡是确保系统高可用性、可扩展性和性能的关键技术之一。Nacos作为一款动态服务发现、配置和服务管理平台&#xff0c;为微服务架构中的负载均衡提供了强大的支持。接下来&#xff0c;我将结合我的实践经…

速盾:cdn加速技术原理

CDN&#xff08;Content Delivery Network&#xff09;加速技术是一种基于分布式部署的网络加速方案&#xff0c;旨在提高用户访问网页或者应用程序的响应速度和稳定性。它通过将内容缓存在离用户最近的边缘节点上&#xff0c;实现就近访问&#xff0c;从而减少了传输延迟和网络…

584. 寻找用户推荐人

584. 寻找用户推荐人 题目链接&#xff1a;584. 寻找用户推荐人 代码如下&#xff1a; # Write your MySQL query statement below select name from Customer where referee_id is null or referee_id<>2;

Mamba:7 VENI VIDI VICI

若在阅读过程中有些知识点存在盲区&#xff0c;可以回到如何优雅的谈论大模型重新阅读。另外斯坦福2024人工智能报告解读为通识性读物。若对于如果构建生成级别的AI架构则可以关注AI架构设计。技术宅麻烦死磕LLM背后的基础模型。 序列模型的效率与有效性之间的权衡取决于状态编…

Android动画与视图绘制流程的关系

Android动画主要分为三种&#xff1a;帧动画、View动画&#xff08;补间动画&#xff09;、属性动画。每种动画的实现原理和它们与视图绘制流程&#xff08;测量、布局和绘制&#xff09;之间的关系如下&#xff1a; 1. 帧动画&#xff08;Frame Animation&#xff09; 帧动画…

实锤,阿里云盾会拦截百度云防护的IP!

今天凌晨&#xff0c;一位站长联系上云加速客服&#xff0c;反馈说&#xff0c;网站突然出现了502的情况。 在检查云防护子域名配置没有问题、本地强制回源没有问题的情况下&#xff0c;我们得出结论是要么服务器内防火墙拦截了云防护的IP段&#xff0c;要么服务器商拦截了云防…

分布式计算、并行计算、网格计算、边缘计算

分布式计算 分布式计算是一种计算方法&#xff0c;它将一个大型的计算任务分解成多个子任务&#xff0c;并将这些子任务分布在网络上的多台计算机&#xff08;节点&#xff09;上同时执行。这些节点通过通信网络协同工作&#xff0c;共同完成任务。每个节点可以独立处理自己的…

[muduo网络库]——muduo库EventLoopThread类(剖析muduo网络库核心部分、设计思想)

接着之前我们[muduo网络库]——muduo库Thread类&#xff08;剖析muduo网络库核心部分、设计思想&#xff09;&#xff0c;我们接下来继续看muduo库中的EventLoopThread类&#xff0c;它和Thread类息息相关。 EventLoopThread类 封装了eventloop线程也就是IO线程&#xff0c;e…