我试图在Android上调试本机c,
但收到以下错误:
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-apple-darwin --target=arm-linux-android".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Warning: /Users/eladb/MyWorkspace/Client/src/android/java/src/pcf: No such file or directory.
Remote debugging from host 225.89.3.0
warning: while parsing target library list (at line 2): No segment defined for ..
警告:/ Users / eladb / MyWorkspace / Client / src / src / pcf:没有这样的文件或 目录。从中读取符号 /用户/ eladb / MyWorkspace /客户/ src目录/安卓/ JAVA / OBJ /本地/ armeabi / app_process ......完成。
警告:未找到调试符号 /用户/ eladb / MyWorkspace /客户/ src目录/安卓/ JAVA / OBJ /本地/ armeabi / app_process。 二进制文件是在没有调试信息的情况下编译的 删除了调试信息(例如,使用strip或strip -g)。 调试器功能将非常有限。
我该如何解决这个问题?
答案 0 :(得分:1)
我相信您应该尝试使用“gcc-g”或其变体重新编译代码,然后再调试一次。
答案 1 :(得分:0)
您实际上没有收到任何错误(或者至少没有发布错误)。你所分享的都是警告。这意味着你可以做任何你想做的事情,只要知道事情可能无法顺利进行。
第一条消息的前半部分只是一个无保修通知。这对gdb来说是正常的。
以下是缺少文件警告。我不确定文件是什么或它做什么。手动检查是否存在,如果没有,则可能需要重新安装。如果是这样,请检查gdb是否具有足够的权限来访问该文件。 (请记住,这只是一条警告信息,因此修复它并不重要。)
最后一个警告是缺少调试符号。调试符号仅用于协助调试,主要用于确定哪些二进制指令对应于源代码的哪些部分。在gcc(和g ++)中,可以在编译时使用-g标志包含这些内容。大多数IDE都会在某处设置此设置。