簡體   English   中英

為什么將 gdbserver 附加到本機 android 應用程序失敗?

[英]Why is attaching gdbserver to a native android app failing?

我正在開發一個完全原生的應用程序,使用 C++ 和純 CMake 作為構建系統 - 完全不涉及 Android Studio(概念證明在這里

代碼構建,apk 生成,可以通過 ADB 安裝和運行,沒有問題,但我無法讓 gdbserver64 附加到進程進行調試。

更多細節:

  • 應用程序是針對 SDK/NDK API 級別 30 構建的
  • 嘗試在沒有 Google Play 的情況下在 Android 11 模擬器實例上進行調試
  • 我可以運行 adb root 就好了
  • 圖像已經包含 gdbserver 和 gdbserver64,試圖使用它們
  • 在模擬器中啟用開發者選項和 USB 調試
  • 應用程序在清單中有android:debuggable="true"

但每次我嘗試gdbserver64:5039 --attach $(pidof my.app.id)

我得到/bin/sh: <app_pid>: inaccessible or not found

我錯過了什么? 不,我不能只移動到 Android Studio - 這是一個跨平台項目,需要僅使用 CMake 即可構建。

根據我的觀察,這可能是預建的 gdbserver 的一個錯誤。 它將 --attach 之后的參數視為程序名稱並嘗試啟動它。

這不是真正的答案,但在與您類似的配置中,我收到了相同的錯誤消息並且無法克服這個問題。 對我來說,切換到 lldb 有幫助, 例如

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM