编译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-werror

make

make 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) 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AC/DC电源模块在工业自动化领域的应用探析

BOSHIDA AC/DC电源模块在工业自动化领域的应用探析 AC/DC电源模块是一种将交流电转换为直流电的电力转换设备&#xff0c;在工业自动化领域具有广泛的应用。本文将从稳定性、效率和可靠性三个方面对AC/DC电源模块在工业自动化领域的应用进行探析。 首先&#xff0c;AC/DC电源模…

【SQL】SQL常见面试题总结(1)

目录 1、检索数据1.1、从 Customers 表中检索所有的 ID1.2、检索并列出已订购产品的清单1.2、检索所有列 2、排序检索数据2.1、检索顾客名称并且排序2.2、对顾客 ID 和日期排序2.3、按照数量和价格排序2.4、检查 SQL 语句 3、过滤数据3.1、返回固定价格的产品3.2、返回产品并且…

React 第三十七章 Scheduler 最小堆算法

在 Scheduler 中&#xff0c;使用最小堆的数据结构在对任务进行排序。 // 两个任务队列 var taskQueue: Array<Task> []; var timerQueue: Array<Task> [];push(timerQueue, newTask); // 像数组中推入一个任务 pop(timerQueue); // 从数组中弹出一个任务 time…

【漏洞复现】用友 NC portal-registerServlet JNDI注入漏洞

0x01 产品简介 用友NC是用友网络科技股份有限公司开发的一款大型企业数字化平台。它主要用于企业的财务核算、成本管理、资金管理、固定资产管理、应收应付管理等方面的工作,致力于帮助企业建立科学的财务管理体系,提高财务核算的准确性和效率。 0x02 漏洞概述 用友NC存在…

Elasticsearch 在滴滴的应用与实践

滴滴 Elasticsearch 简介 简介 Elasticsearch 是一个基于 Lucene 构建的开源、分布式、RESTful 接口的全文搜索引擎&#xff0c;其每个字段均可被索引&#xff0c;且能够横向扩展至数以百计的服务器存储以及处理 TB 级的数据&#xff0c;其可以在极短的时间内存储、搜索和分析大…

登录接口取到token,加到请求头中,通过服务器验证#Vue3

登录接口取到token&#xff0c;加到请求头中&#xff0c;通过服务器验证#Vue3 Token验证的基本流程 1.服务端收到请求&#xff0c;去验证用户名与密码 2.验证成功后&#xff0c;服务端会签发一个 Token&#xff0c;再把这个 Token 发送给客户端 3.客户端收到 Token 以后可以把它…

Linux文件系统详解

&#x1f30e;Linux文件系统 文章目录&#xff1a; Linux文件系统 简单认识磁盘 文件系统       磁盘线性结构抽象       文件系统存储方法 inode Table         inode Bitmap         Data Block         Block Bitmap         …

【漏洞复现】方正全媒体采编系统密码泄露漏洞

0x01 产品简介 方正全媒体新闻采编系统是一个面向媒体深度融合的技术平台&#xff0c;它以大数据和AI技术为支撑&#xff0c;集成了指挥中心、采集中心、编辑中心、发布中心、绩效考核中心、资料中心等多个功能&#xff0c;全面承载“策采编审发存传评”的融媒体业务流程。 0…

爱吃香蕉的珂珂

题目链接 爱吃香蕉的珂珂 题目描述 注意点 piles.length < h < 10^9如果某堆香蕉少于k根&#xff0c;将吃掉这堆的所有香蕉&#xff0c;然后这一小时内不会再吃更多的香蕉返回可以在 h 小时内吃掉所有香蕉的最小速度 k&#xff08;k 为整数&#xff09; 解答思路 二…

Find My资讯|苹果 iOS 17.5 率先执行跨平台反跟踪器标准

苹果和谷歌公司于 2023 年 5 月宣布推出“检测预期外位置追踪器”&#xff08;Detecting Unwanted Location Trackers&#xff09;行业标准&#xff0c;经过 1 年多的打磨之后&#xff0c;该标准目前已通过 iOS 17.5 部署到 iPhone 上。谷歌也将为运行 Android 6.0 或更高版本的…

【从零开始学架构 架构基础】二 架构设计的复杂度来源:高性能复杂度来源

架构设计的复杂度来源其实就是架构设计要解决的问题&#xff0c;主要有如下几个&#xff1a;高性能、高可用、可扩展、低成本、安全、规模。复杂度的关键&#xff0c;就是新旧技术之间不是完全的替代关系&#xff0c;有交叉&#xff0c;有各自的特点&#xff0c;所以才需要具体…

FestDfs快速安装和数据迁移同步。Ubuntu环境

一&#xff1a;防火墙 ufw status 二&#xff1a;下载 分别是&#xff08;环境依赖&#xff0c;网络模块依赖&#xff0c;安装包&#xff09; git clone https://github.com/happyfish100/libfastcommon.git git clone https://github.com/happyfish100/libserverframe.git …

package-lock.json导致npm install安装nyc出现超时错误

一、背景 前端项目在npm install安装依赖&#xff0c;无法下载组件nyc&#xff0c;详细报错信息&#xff1a; npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/nyc/download/nyc-13.3.0.tgz?cache0&a…

析构函数详解

目录 析构函数概念特性对象的销毁顺序 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 &#x1f412;&#x1f412;&#x1f412; 个人主页 &#x1f978;&#x1f978;&#x1f978; C语言 &#x1f43f;️&#x1f43f;️&#x1f43f;️ C语言例题 &…

开源标注工具LabelMe的使用

开源标注工具LabelMe使用Python实现&#xff0c;并使用Qt作为其图形界面&#xff0c;进行图像多边形标注。源码地址:https://github.com/labelmeai/labelme &#xff0c;最新发布版本为v5.4.1&#xff0c;它遵循GNU通用公共许可证的条款。 1.Features (1).多边形、矩形、圆形、…

Linux下mysql备份

参考文章&#xff1a; Linux实现MySQL数据库数据自动备份&#xff0c;并定期删除以前备份文件-CSDN博客文章浏览阅读7.2k次&#xff0c;点赞7次&#xff0c;收藏29次。引言在学习过程中遇到了一个问题&#xff0c;见图&#xff1a;当我进入服务器的数据库时&#xff0c;原来的…

羊大师:羊奶健康的成长伴侣

羊大师&#xff1a;羊奶健康的成长伴侣 在追求健康生活的当下&#xff0c;越来越多的人开始关注饮食的营养与健康。羊大师发现在众多天然食品中&#xff0c;羊奶以其独特的营养价值和健康益处&#xff0c;逐渐成为了人们的新宠。特别是对于正在成长发育的孩子们来说&#xff0…

客户端Web资源缓存

为了提高Web服务器的性能,其中的一种可以提高Web服务器性能的方法就是采用缓存技术。 1.缓存 1.1.什么是缓存&#xff1f; 如果某个资源的计算耗时或耗资源&#xff0c;则执行一次并存储结果。当有人随后请求该资源时&#xff0c;返回存储的结果&#xff0c;而不是再次计算。…

免费视频格式在线转换网站,推荐这5款!

在数字化时代&#xff0c;视频已成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;随着各种设备和平台的不断涌现&#xff0c;视频格式繁多&#xff0c;常常会出现不兼容的情况。为了解决这一问题&#xff0c;视频格式在线转换网站应运而生&#xff0c;成为了我们应…

【数据结构】排序(归并排序,计数排序)

一、归并排序 基本思想&#xff1a; 归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法,该算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用。将已有序的子序列合并&#xff0c;得到完全有序的序列&#xf…