2017-01-23 24 views
0

ネイティブAndroid用に開発するための最初のステップを行い、何か助けが必要です。私はarmv7 gdbserverを私の電話にコピーし、C++で書かれた "hello word"テストアプリをコンパイルします。そして今、私はアンドロイドのndkパッケージからgdbで自分のアプリケーションをデバッグしたいと思います。アンドロイドネイティブアプリのデバッグシンボルの生成方法は?

gdbを起動し、target remoteコマンドで電話に接続し、このメッセージを取得してから、 "s"コマンドの後にgdbが保持します。

(gdb) target remote 192.168.1.157:1235 
Remote debugging using 192.168.1.157:1235 
Reading /data/local/Test from remote target... 
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead. 
Reading /data/local/Test from remote target... 
Reading symbols from target:/data/local/Test...done. 
Reading /system/bin/linker from remote target... 
Reading /system/bin/linker from remote target... 
Reading symbols from target:/system/bin/linker...(no debugging symbols found)...done. 
0xb6fdf654 in __dl__start() from target:/system/bin/linker 
(gdb) s 
Single stepping until exit from function __dl__start, 
which has no line number information. 

私は間違っていますか?なぜそれが保持されますか?そして、どのようにシンボル/デバッグ情報を生成するのですか?私は "set(CMAKE_BUILD_TYPE Debug)"を設定しようとしましたが、新しいファイルは生成されませんでした。

よろしくポールと私のCmakeLists.Txt

set(PROJECT_NAME Test) 

set(CMAKE_CXX_STANDARD 11) 

set(CMAKE_TOOLCHAIN_FILE android-cmake/android.toolchain.cmake) 
set(ANDROID_NDK /home/drem1lin/Android/Sdk/ndk-bundle) 


set(ANDROID_NATIVE_API_LEVEL "android-19") 
set(ANDROID_TOOLCHAIN_NAME "arm-linux-androideabi-4.9") 
set(ANDROID_ABI "armeabi-v7a") 

project(${PROJECT_NAME}) 
cmake_minimum_required(VERSION 3.1) 

include_directories(include) 
file(GLOB SOURCES source/*.c*) 
add_executable(${PROJECT_NAME} ${SOURCES}) 
foreach (module_src ${MODULES}) 
    get_filename_component(module ${module_src} NAME_WE) 
    string(TOLOWER ${module} module) 
    add_library(${module} SHARED ${module_src}) 
    set_target_properties(${module} PROPERTIES PREFIX "") 
    set_target_properties(${module} PROPERTIES SUFFIX ".m") 
    target_link_libraries(${module} ${LIBRARY_DEPS}) 
endforeach(module_src) 

答えて

0

私はLinuxのビルドシステムが非常に悪いことを知っているので、私はこのトラブルがあります。 {project}\obj\local\armeabi\フォルダ内にシンボル付き実行可能ファイルを作成

0

コンパイラがgccまたはclangの場合は、コンパイル時に-gオプションを渡して、デバッグシンボルを生成します。

関連する問題