win7下debug native 環境搭建

Win7下Debug native操作

環境配置:

         1,Eclipse : Indigo 3.7

         2,ADT : r22.0.1

         3,ndk : r9

         4,安裝Cygwin與配置ndk:

               Cygwin爲在windows平臺上運行的類UNIX模擬環境,安裝可以參考網上教程及配置ndk“環境變量”;

         5,CDT :

                 先查看一下已下載的eclipse是否包括cdt.插件,工具欄Help—>About Eclipse:如圖

                

                  若沒有可以進行在線安裝,點擊 Help->Install New Software…彈出的窗口中的Work With中添加http://download.eclipse.org/tools/cdt/releases/indigo,按回車,接      下 來的安裝過程和上文中安裝中文包的是一樣的,我相信你很容易就能明白的。如果你的Eclipse版本不是3.7,而是別的版本的,那麼請上http://www.eclipse.org/cdt/downloads.php,查詢對應的CDT版本,複製相應的p2 software repository到Work With窗口中,安裝完成後重啓eclipse,無需任何動作,你就能編譯C++的程序了.

      6, sequoyah插件:

               Sequoyah插件用於設置Android工程對Native開發的支持. 點擊Help->Install New Software… 彈出的窗口中的Work With中添加:如圖

              

                 在安裝界面不要勾選“Group items by category”複選框,默認是勾選的,出現了列表爲空(There are no categorized items)的情況

                

        

         上面jni編譯環境步驟比較多,大家可以從網絡查看有詳細的教程;

Eclipse 編譯:

可以使用ndk提供的samples,使用的eclipse的工具欄Import… 進行工程導入;導入的工程爲hello-jni,工程目錄如下;


注意: AndroidManifest.xml 設置屬性 android:debuggable="true" ,


把當前工程轉換爲c/c++工程有兩種方式:

1,  右擊工程,彈出工具欄選擇Android Tools—>Add Natvie Support…


會自動跳轉到c/c++視圖,工程目錄如下:


2,把工程轉換爲c工程的,右擊工程彈出工具欄New—>Other—>


進行配置轉換;

配置工程Properties

工程點擊c/c++文件,會提示錯誤需要引入.h文件,右擊工程Properties,顯示下面截圖,Add添加.h文件




出現的問題:AndroidNDK: WARNING: There are no modules to build in this project!  

修改:Android.mk文件需要去掉#

LOCAL_PATH := $(callmy-dir)

include$(CLEAR_VARS)

LOCAL_MODULE    := hello-jni

LOCAL_SRC_FILES := hello-jni.c

include$(BUILD_SHARED_LIBRARY)

 

右擊工程Build Configuations—>Build All,編譯生成.so文件,可以在Console看到編譯成功。

 

調試

進行java debug

在調用native方法請打上斷點,先進行java  debug運行工程,右擊工程彈出工具欄Debug As—>Android Application,


在cygwin 運行gdb,生成調試文件

1,  使用cygwin進入當前工程目錄下,然後運行ndk目錄下的ndk-gdb,生成用於調試的gdb文件,


Refresh工程看到對應的cpu類型下生成的文件app_process,gdb.setup

運行c/c++ dubug

 配置c/c++ debug, 右擊工程Debug As—>Debug Configurations,

選擇C/C++ Aplication, Main標籤內C/C++ Application填寫設備下對應的app_process,文件,點擊下面的 Select other…,

 


 

點擊Debugger標籤,

Main標籤

GDB debugger :

ndk\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gdb.exe;

GDB command file: 爲工程下\hello-jni\obj\local\armeabi-v7a\gdb2.setup;

gdb2.setup文件的生成是複製gdb.setup文件並修改文件名,需要去掉文件裏面

target remote :5039,進行保存

Connection標籤

設置type,及port number,

 

配置完成點擊Debug; eclipse會跳轉到debug視圖;然後進可以調試了


 

debug 期間Cygwin會的顯示;

 

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章