ndk-gdb で非常に奇妙な問題が発生しました。
次のようなコマンドを使用しようとすると、break < fun_name >、break < file_name:line >、info functions エラーが発生し、gdb が終了します。
(gdb) b Java_com_rtsoft_shared_AppRenderer_nativeResize
readchar: Got EOF
Remote side has terminated connection. GDBserver will reopen the connection.
Listening on Unix socket debug-socket
/cygdrive/c/Programs/android-ndk-r8b/ndk-gdb: line 699: 2876 Segmentation fault $GDBCLIENT -x `native_path $GDBSETUP`
問題が発生しましたが、この gdb は私の src ファイルを認識していませんが、なぜですか?
「info sharedlib」は、読み込まれたライブラリと、デバッグ シンボルを持つすべてのライブラリを表示します。
No libwmlscriptcore.so
No libwebcore.so
0x81186590 0x813909a8 Yes C:/Workspace/Irrlicht/ElementDefence/project/android/obj/local/armeabi/libirrlicht.so
0x80cbb5d8 0x80dcbdcc Yes C:/Workspace/Irrlicht/ElementDefence/project/android/obj/local/armeabi/libBullet.so
0x81939240 0x81a49be8 Yes C:/Workspace/Irrlicht/ElementDefence/project/android/obj/local/armeabi/libelementaldefence.so
No gralloc.msm7k.so
No libGLES_android.so
No libgsl.so
「show dir」は、src ファイル (.c、.cpp) を含むすべての有効なディレクトリを表示します。
show dir
Source directories searched: C:/Programs/android-ndk-r8b/platforms/android-8/arch-arm/usr/include;C:/Workspace/Irrlicht/ElementDefence/project/android/jni;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Entity;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/GUI;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Manager;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Math;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Renderer;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Network;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Audio;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Renderer/linearparticle/sources;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Irrlicht;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source/Component;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source/GameObjects;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source/GameObjects/CreepStates;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source/GameObjects/TowerStates;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source/gs;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source/mgr;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source/mgr/CursorActions;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source/mgr/MagicEffects;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source/mgr/MagicEffects/Affectors;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../project/source/utils;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/android;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/util;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Irrlicht/include;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Irrlicht/source/Irrlicht;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Irrlicht/source/Irrlicht/libpng;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Irrlicht/source/Irrlicht/jpeglib;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/ClanLib-2.0/Sources;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/util/boost;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/memory;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Bullet;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/pugixml;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/util/unzip;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/util/zlib;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/util/bzip2;C:/Workspace/Irrlicht/ElementDefence/project/android/jni/../../../shared/Irrlicht/irrBullet;C:/Programs/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/include;C:/Programs/android-ndk-r8b/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include;$cdir;$cwd
アプリケーション クラッシュ gdb が停止すると、スタック トレースが表示され、「c」コマンドに反応しますが、src ファイルは表示されません。
プログラムが (Eclipce の) Java ブレーキポイントで停止したとき、cygwin シェルで以下のコマンドを実行します (管理者の権限で):
$NDK/ndk-gdb --verbose --force --adb=/cygdrive/c/Programs/android-sdk/platform-tools/adb.exe
デバイスでデバッグします。android-ndk-r7-crystax-5.beta2 と android-ndk-r8b を使用してみてください。すべて同じエラー。誰かがこの問題を抱えていますか?
ありがとう。