有时候工程文件部署不完全,bin/ndk下文件没有完全生成会导致ndk-gdb有问题。
多在win下发生。
另外:cygwin下的环境变量问题
On windows platform, the variable $APP_PROCESS contains path in cygwin
format. ADB does not recognize this and pulls app_process to a wrong
directory. For example if the location of hello-jni is:
C:/android-ndk-r4 /samples/hello-jni
then ADB pulls app_process to:
C:/cygdrive/c/android-ndk-r4 /samples/hello-jni/bin/ndk/local/armeabi
To fix this, a check can be added in ndk-gdb that detects if platform is
Windows, then use cygpath to convert $APP_PROCESS to native Windows format.
Cygpath utility is normally bundled with cygwin;
I have implemented this fix by replacing line:
run adb pull /system/bin/app_process $APP_PROCESS
with;
if [ -s "${COMSPEC}" ] ; then
run adb pull /system/bin/app_process "`cygpath -w $APP_PROCESS`"
else
run adb pull /system/bin/app_process $APP_PROCESS
fi