Android调试本机代码“gdb.setup:没有这样的文件或目录”

时间:2013-02-21 10:04:13

标签: android debugging android-ndk native-code gdbserver

我已经尝试了近一个星期来调试ndk示例hello-jni的c代码,但没有运气。 我曾尝试关注如何执行此操作的许多教程/博客文章,但再次没有运气。

E.g。如果我遵循本教程:http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-debugging/,我只能进入第3步,当我运行ndk-gdb时,它说: “cp:无法统计`.libs / armeabi / gdb.setup':没有这样的文件或目录”

我已经注释掉了许多教程中描述的ndk-gdb的最后一行。

这是我从cygwin运行ndk-gdb时得到的结果:

  

$ / cygdrive / d / data / klr200 / construction / software / local / pc / android-ndk -r8d / ndk -gdb-eclipse --project = / cygdrive / d / data / klr200 / construction / software / local / pc / android-ndk -r8d / samples / hello-jni --verbose --force --adb = / cygdrive / d / data / klr200 / construction / software / local / pc / android-sdk / platform-tools / adb .EXE

     

Android NDK安装路径:/ cygdrive / d / data / klr200 / construction / software / local / pc / android-ndk-r8d
  使用特定的adb命令:/cygdrive/d/data/klr200/construction/software/local/pc/android-sdk/platform-tools/adb.exe
  发现ADB版本:Android Debug Bridge版本1.0.31
  使用ADB标志:
  使用指定的项目
路径:/ cygdrive / d / data / klr200 / construction / software / local / pc / android-ndk -r8d / samples / hello-jni
  找到包名:com.example.hellojni
  申请目标ABIs:armeabi
  设备API级别:10
  设备CPU ABIs:armeabi
  兼容设备ABI:armeabi
  使用gdb setup init:./ libs / armeabi / gdb.setup
  使用工具链前缀:/cygdrive/d/data/klr200/construction/software/local/pc/android-ndk-r8d/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/arm-linux-androideabi- <登记/>   使用app out目录:./ obj / local / armeabi
  找到可调试标志:真实   找到设备gdbserver:/data/data/com.example.hellojni/lib/gdbserver
  找到数据目录:'/ data / data / com.example.hellojni'
  找到运行PID:351
  杀死现有的调试会话
  命令:adb_cmd shell kill -9 496
  [1] Kill run-as com.examp ...
  成功启动了gdbserver   设置网络重定向
  命令:adb_cmd shell run-as com.example.hellojni lib / gdbserver + debug-socket --attach&gt; 351
  命令:adb_cmd forward tcp:5039 localfilesystem:/data/data/com.example.hellojni/debug-socket
  命令:adb_cmd pull / system / bin / app_process obj / local / armeabi / app_process
  附; pid = 351
  听取Unix套接字调试套接字
  16 KB / s(5629字节,0.329秒)
  从设备/模拟器中拉出app_process   命令:adb_cmd pull / system / bin / linker obj / local / armeabi / linker
  48 KB / s(在0.786s中39404字节)
  从设备/仿真器中拉出链接器   命令:adb_cmd pull /system/lib/libc.so obj / local / armeabi / libc.so
  77 KB / s(3.468s中273868字节)
  从设备/仿真器中拉出libc.so    cp:无法统计`./libs/armeabi/gdb.setup':没有这样的文件或目录

我无法在任何地方找到app_process(据我所知这非常重要),如果我查看项目目录... / libs / armeabi,那么gdb.setup文件就在那里。

我正在使用:

  • Android NDK r8d
  • Android SDK 21.1
  • 带有CDT 8.1.1的Eclipse Juno
  • 最新的cygwin
  • Windows 7 32位

1 个答案:

答案 0 :(得分:0)

发现它! 参数project =“project path”区分大小写,因此当我更正项目路径时,它完全运行。