簡體   English   中英

如何從Android應用程序調試共享庫[單獨的項目]

[英]how to debug a shared libarary [ separate project] from android application

我正在開發一個Android應用程序並在項目中使用密集的c ++代碼,首先,我將c ++源代碼放在項目中,並使用以下指南在Android應用程序中具有本機調試的NDK功能。

http://tools.android.com/recent/usingthendkplugin

但是在開發的弱點之后,我決定在獨立項目中分離Native代碼並使用Android應用程序中的輸出SO。

我的問題我如何調試SO庫,這是Android應用程序中單獨項目的結果?

使用nkd-gdb(您的.so必須包含在為應用程序安裝的APK中,在特定於應用程序的.so文件的正常位置)它是NDK的一部分。 請參閱$ NDK / docs / NDK-GDB.html

但是,請注意:nkd-gdb只會在應用程序啟動后的某個時間將GDB附加到您的.so。 所以,你可能會錯過一些斷點。 我知道在IDE插件之外解決該問題的兩種方法:

  1. 在.so的最早入口點放置一個無限循環,然后在設置斷點后使用GDB突破無限循環
  2. https://android-review.googlesource.com/#/c/48029/下載我的掛起更新到ndk-gdb,它解決了這個問題(一個人報告說我的修復有問題,所以它沒有被批准用於AOSP還沒......但我從未復制過他們的問題。如果您使用它,請告訴我,以及它是否適合您。)

暫無
暫無

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

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