BSD atos 在 Linux 上可用吗?

问题描述 投票:0回答:4

Linux(特别是 Ubuntu)上是否有用于将数字地址转换为二进制图像符号的 atos 二进制文件?它似乎只能在 OS X 上使用。

ios linux ubuntu debug-symbols bsd
4个回答
3
投票

来自 facebook 的 Atosl - https://github.com/facebook/atosl

要让它在 ubuntu 上运行:

sudo apt-get install libdwarf-dev binutils-dev
git clone [email protected]:facebook/atosl.git
cd atosl
make

1
投票

没有什么可以自动翻译地址;您需要选择

nm
objdump
的输出。


1
投票

binutils 中名为 addr2line 的类似工具。


0
投票

为了在 Linux 中使用 atos 分析 iOS 二进制文件(也应该适用于 MacOS 二进制文件),我将 [Darling][1] 与 Xcode 11.3.1 结合使用。

注意:需要旧的 Xcode 版本,因为新版本依赖于 Darling 中不是最新的系统库。也许比 11.3.1 更新的版本应该可以工作,但这是我第一次也是最后一次尝试。

使用说明:

  1. 安装Xcode,参见【在Darling安装软件】[2]。本质上,从 darling shell 内部复制 Xcode.app 到 /Applications 中。您可以在[此处][3]下载所有版本的Xcode,并且您应该使用[Unxip][4]来解压.xip文件。
  2. 奔跑
    /Applications/Xcode.app/Contents/Developer/usr/bin/atos
  3. 实际上,您可以通过复制 Atos 的共享库并创建适当的目录结构来保留
    rpath
    ,从而删除 Xcode 以仅使用 atos:
       mkdir -p atos-bin/Developer/usr/bin/
       mkdir -p atos-bin/SharedFrameworks/
       cd atos-bin
       cp /Applications/Xcode.app/Contents/Developer/usr/bin/atos Developer/usr/bin/
       cp -r /Applications/Xcode.app/Contents/SharedFrameworks/SymbolicationDT.framework SharedFrameworks
       cp -r /Applications/Xcode.app/Contents/SharedFrameworks/CoreSymbolicationDT.framework SharedFrameworks
    
       # run atos
       ./Developer/usr/bin/atos
    

  [1]: https://github.com/darlinghq/darling
  [2]: https://docs.darlinghq.org/installing-software.html
  [3]: https://developer.apple.com/download/all/
  [4]: https://github.com/saagarjha/unxip
© www.soinside.com 2019 - 2024. All rights reserved.