【问题标题】:NDK Debugging, can't set a breakpointNDK调试,无法设置断点
【发布时间】:2013-07-14 10:39:23
【问题描述】:

用例

  1. Windows Phone 和 Android 应用程序通用的 C++ 代码
  2. Windows Phone 是使用 Visual Studio 编译的
  3. Android 是使用 Eclipse @ Ubuntu/Linux 编译的
  4. 源代码存储在windows机器硬盘上
  5. 使用 SMB 共享与 Android/Linux 机器共享源代码

代码在两种环境下编译成功,但是在 Eclipse/Linux 上无法设置原生断点:msg="No source file named %Some name%",这一点,请记住:

  1. 编译的二进制文件包含 CFLAGS,包括“-UNDEBUG -g -ggdb”、“NDK_DEBUG := 1”
  2. 'info sharedLibrary' 表示该库的符号已成功加载
  3. 信息来源”生成指向 SMB 共享的有效文件路径列表

为什么会出现“没有命名的源文件”GDB 错误?
如何验证 GDB 是否可以访问源所在的 SMB 共享?

任何帮助将不胜感激

【问题讨论】:

  • [已解决] 与 Windows 相比,Linux FS 区分大小写,这意味着名为“JNI”的文件夹与名为“jni”的文件夹不同,它们可以在同一个目录。调试信息指向“jni”文件夹(而不是“JNI”),将我的“JNI”文件夹重命名为“jni”解决了问题,我现在可以调试本机代码!

标签: android c++ android-ndk


【解决方案1】:

与 Windows 相比,Linux FS 区分大小写,这意味着名为“JNI”的文件夹与名为“jni”的文件夹不同,它们可以共存于同一目录下。调试信息指向“jni”文件夹(而不是“JNI”),将我的“JNI”文件夹重命名为“jni”解决了这个问题,我现在可以调试本机代码了!

【讨论】:

    猜你喜欢
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 2011-01-20
    • 1970-01-01
    相关资源
    最近更新 更多