我已经构建了一个简单的 NaCl 应用程序。为了运行应用程序,我使用 Nacl Developer's guide 中描述的技术 2,这意味着我不是运行本地服务器,而是将我的应用程序加载为 chrome 的解压缩扩展。到目前为止,该应用程序运行良好。
现在我想试验 nacl-gdb 并在启动时将我的应用程序附加到它。在 NaCl 开发人员指南中,只有关于如何将 nacl-gdb 附加到使用本地服务器运行的应用程序的说明(技术 1)。我在互联网上进行了搜索,最终采用了以下方法,以便为使用技术 2 运行的应用程序附加 nacl-gdb:
- 我启用了 Chrome 的“基于本机客户端 GDB 的调试”标志。
- 我从这样的终端启动 chrome: ./chrome "--nacl-gdb=gnome-terminal -- /media/sdb1/leonidasbo/AncientRoot/nacl_sdk/pepper_27/toolchain/linux_x86_glibc/bin/x86_64-nacl-gdb"
- 当 Chrome 启动时,我导航到我的应用程序。
使用这种方法,当我打开我的应用程序时,Chrome 会自动启动 nacl-gdb。但是 nacl-gdb 尝试附加但没有成功。输出如下:
*此 GDB 配置为“--host=x86_64-unknown-linux-gnu --target=x86_64-nacl”。从 /opt/google/chrome/nacl_irt_x86_64.nexe 读取符号...(未找到调试符号)...完成。不知道怎么贴。尝试“帮助目标”。(gdb)*
似乎 gdb 无法附加到我的应用程序。我尝试执行“target exec /path/to/my.nexe”,但没有任何改变。我在这里错过了什么吗?有没有其他方法可以调试使用 nacl-gdb 作为解压扩展加载的应用程序?
我的操作系统是 Ubuntu 12.04,我使用的是 nacl_sdk 的pepper_27。Chrome 版本是 27.0.1453.93。
谢谢