为Android aarch64构建gdbserver

问题描述 投票:2回答:2

我正在64位linux上工作,需要为我的aarch64 Android手机构建gdbserver。NDK中已经预构建了gdbserver,但它在NDK包中使用python,而不是系统python ,我无法安装其他python插件。

如何找到--target需要哪个--host./configure参数?我尝试了--help,并且使用google之类的“ build gdbserver aarch64”或“ gdbserver configure android”,但未找到aarch64 Android的任何答案。

对于gdb我可以使用./configure --enable-targets=all,但是对于gdbserver呢?是否有所有可用参数的“列表”?

这是我尝试构建gdbserver]的方式>

  1. 下载gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux程序包,解压缩并将其添加到PATH,添加环境变量CC=arm-none-eabi-gccCXX=arm-none-eabi-g++,使可执行文件在PATH中可用
  2. 我尝试了所有这些方法:
  3.     ../configure  
        ../configure --host=aarch64-linux             --target=aarch64-linux-androideabi
        ../configure --host=aarch64-linux-androideabi --target=aarch64-linux
        ../configure --host=aarch64-linux-androideabi --target=aarch64-linux-androideabi
    
  1. make,结果为:
  2.     ...
        make[3]: Nothing to be done for 'all'.
        make[3]: Leaving directory '/opt/gdb-9.1/gdb/gdbserver/build/build-libiberty-gdbserver/testsuite'
        make[2]: Leaving directory '/opt/gdb-9.1/gdb/gdbserver/build/build-libiberty-gdbserver'
        make[1]: Leaving directory '/opt/gdb-9.1/gdb/gdbserver/build'
        make: *** No rule to make target '../alloc.c'.  Stop.
    
also tried:
    make CC=arm-none-eabi-gcc CXX=arm-none-eabi-g++
    or CC=aarch64-linux-android28-clang CXX=aarch64-linux-android28-clang++
But same result.

我正在64位Linux上工作,需要为我的aarch64 Android手机构建gdbserver。NDK中有预构建的gdbserver,但是它在NDK包中使用python,而不是系统python,我无法安装.. 。

gdb gdbserver android-debugging
2个回答
1
投票

从其他地方得到答案,以防万一,也可以放在这里。


0
投票

最简单的方法是通过Android SDK(例如Android Studio)随附的NDK。转到Android SDK中的NDK并导航到ndk-bundle/prebuilt/android-arm64/gdbserver/gdbserver;这将为aarch64(arm64)提供一个预构建的gdbserver可执行文件。您还可以在ndk-bundle / prebuilt中找到其他预构建的gdbserver可执行文件,除了aarch64。

© www.soinside.com 2019 - 2024. All rights reserved.