交叉编译环境的linaro-gdb可以用了,结果打开core文件,显示堆栈都是??

aarch64-linux-gun-gdb ./test core

warning: /lib/libpthread.so.0': Shared library architecture unknown is not compatible with target architecture aarch64.
warning:'/lib/libdl.so.2': Shared library architecture unknown is not compatible with target architecture aarch64.
warning: /lib/librt.so.1': Shared library architecture unknown is not compatible with target architecture aarch64.
warning: /lib/libstdc++.so.6': Shared library architecture unknown is not compatible with target architecture aarch64.
warning: /lib/libm.so.6': Shared library architecture unknown is not compatible with target architecture aarch64.
warning: /lib/libgcc_s.so.1': Shared library architecture unknown is not compatible with target architecture aarch64.
warning: /lib/libc.so.6': Shared library architecture unknown is not compatible with target architecture aarch64.
warning: Could not load shared library symbols for /lib/ld-linux-aarch64.so.1.
Do you need "set solib-search-path" or "set sysroot"?
varning: Loadable section ",note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELE segments
Core was generated by './vdevicemonitor'.
Proaram terminated with sianal SIGABRT, Aborted.
#0 0x000040002b80cld4 in ?? () from /lib/libc.so.6

1.实际显示??的原因就是它提示的原因。 就是它在交叉环境下找不到这个平台的动态库,无法加载。( 其实我理解它本身有可能继续加载堆栈的,因为使用x /200a $sp 还是可以看档当前进程文件自身带的符号表的。 只是gdb发现前面的加载不了后面的也就不加载了)。

2.解决的方法实际提示中也给了。 就是用一下set solib-search-path或set sysroot配置一下动态库搜索路径,让他知道到哪里去搜索就好。

前提是现有动态库。 可以到对应的arm系统里把缺少的动态库挨个按照文件结构下载好

然后用set sysroot  /home/test/arm_lib。 然后gdb就会重新加载符号表,然后堆栈也就有了。O(∩_∩)O哈哈~。

试了下set solib-search-path好像不太好使,不过感觉二者功能差不多,可能没有用对姿势吧。

交叉编译环境的linaro-gdb可以用了,结果打开core文件,显示堆栈都是??的更多相关文章

  1. linux包之gdb之gdb命令与core文件产生

    gdb-7.2-64.el6_5.2.x86_64/usr/bin/gcore/usr/bin/gdb/usr/bin/gdb-add-index/usr/bin/gdbtui/usr/bin/gst ...

  2. Linux core 文件 gdb

    http://blog.csdn.net/mr_chenping/article/details/13767609 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时 ...

  3. Linux环境崩溃生成core文件以及调试

    Linux环境崩环境溃生成core文件以及调试 gdb结合coredump定位崩溃进程 Linux 使用core file文件快速定位程序崩溃代码行 http://www.cnblogs.com/ha ...

  4. gdb简单调试~core文件

    1.打开终端,进入项目目录,输入ulimit -a ,可以看core文件大小设置(第一行),若为0, 则没有打开core dump设置. 2.ulimit -c unlimited ,core文件大小 ...

  5. 学习记录:交叉编译环境配置(buildroot and gdb&gdbserver)【转】

    本文转载自:https://blog.csdn.net/zhy025907/article/details/52332528 1,背景 因为参加公司的路由器逆向培训,首先需要的就是环境的配置准备工作, ...

  6. Ubuntu12.04下arm交叉编译环境的建立

    http://blog.csdn.net/heyangya2009/article/details/5424376 备注:ubuntu12.04+Android+Real6410 在主机上用来编译其他 ...

  7. arm汇编--ubuntu12.04 安装arm-linux交叉编译环境

    1. 安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下:sudo apt-get install gcc g++ libgcc1 libg++ make gdb 2.从ft ...

  8. Ubuntu 上 hi3531 交叉编译环境 arm-hisiv100nptl-linux 建设过程

    安装SDK 1.Hi3531 SDK包的位置     在"Hi3531_V100R001***/01.software/board"夹,你可以看到一个 Hi3531_SDK_Vx. ...

  9. Ubuntu 上 hi3531 交叉编译环境 arm-hisiv100nptl-linux 搭建过程

    安装SDK 1.Hi3531 SDK包位置     在"Hi3531_V100R001***/01.software/board"目录下,您可以看到一个 Hi3531_SDK_Vx ...

随机推荐

  1. 活动回顾|ShardingSphere X openGauss,将会产生怎样的化学反应?

    "ShardingSphere 作为 openGauss 生态的开源分布式数据库解决方案,将持续助力于 openGauss,满足千行百业广大客户分布式场景需求." 5月29日,由  ...

  2. Django序列化页和过滤页规范

    序列化类:serializers.py from rest_framework import serializers from goods.models import Goods, GoodsCate ...

  3. Rigidbody钢体移动时抖动问题

    Rigidbody移动时抖动问题 撞墙抖动 Unity中物体移动有非常多的方式: 比如: transform.position += dir*speed*Time.deltaTime; transfo ...

  4. Windows使用Git的vim编辑器编译运行程序

    Windows配置gcc 新建一个main.c $ touch main.c #在当前目录下创建main.c $ mkdir folder #在当前目录下创建folder文件夹 $ rm main.c ...

  5. GIS应用|快速开发REST数据服务

    随着计算机的快速发展,GIS已经在各大领域得到应用,和我们的生活息息相关, 但是基于GIS几大厂商搭建服务,都会有一定的门槛,尤其是需要server,成本高,难度大,这里介绍一种在线GIS云平台,帮你 ...

  6. java的加载与执行原理剖析

    到目前为止,我们接触过的重点术语,总结一下: Java体系的技术被划分为三大块: JavaSE:标准版 JavaEE:企业版 JavaME:微型版 安装JDK之后: JDK:java开发工具箱 JRE ...

  7. 【UE4 C++ 基础知识】<15> 智能指针 TSharedPtr、UniquePtr、TWeakPtr、TSharedRef

    基本概念 UE4 对 UObject 对象提供垃圾回收 UE4 对原生对象不提供垃圾回收,需要手动进行清理 方式 malloc / free new / delete new与malloc的区别在于, ...

  8. vue3.x异步组件

    在大型应用中,我们可能需要将应用分割成小一些的代码块,并且只在需要的时候才从服务器加载一个模块 vue2.x 曾经简单的异步组件 components: { AsyncComponent: () =& ...

  9. 链式A+B 牛客网 程序员面试金典 C++ Python

    链式A+B 牛客网 程序员面试金典 C++ Python 题目描述 有两个用链表表示的整数,每个结点包含一个数位.这些数位是反向存放的,也就是个位排在链表的首部.编写函数对这两个整数求和,并用链表形式 ...

  10. udev 使用方法

    原文地址 http://blog.163.com/againinput4@yeah/blog/static/122764271200962305339483/ 最近有在研究SD卡设备节点自动创建及挂载 ...