我正在构建一个原生 Android 应用程序(游戏),并且想知道使用哪些工具来调试原生应用程序。
拥有 Xcode 调试功能(例如断点、守卫 malloc、僵尸等)会很有用。
我正在构建一个原生 Android 应用程序(游戏),并且想知道使用哪些工具来调试原生应用程序。
拥有 Xcode 调试功能(例如断点、守卫 malloc、僵尸等)会很有用。
我发现进行本机调试的最简单方法是使用带有 CDT 插件的 Eclipse。一旦您在 Eclipse 中为您的 Android 项目添加了“C/C++ 方面”,它就允许您轻松设置断点并单步执行本机代码。
搭建开发环境:如果你有标准的 Eclipse + Android SDK 包并且你已经单独下载了 NDK,你需要为 Eclipse 添加 CDT 插件和 Android NDK 插件。请参阅此处的说明:http ://tools.android.com/recent/usingthendkplugin 。完成后,您的 Eclipse 安装将如下所示:
您现在需要进入 Eclipse Preferences/Settings 并设置 NDK 安装的路径:
要在 C/C++ 透视图中使用 Eclipse,首先需要将 C/C++ 方面添加到任何尚未获得它的项目中。通过右键单击项目来执行此操作,然后从“Android 工具”子菜单中选择“添加本机支持...”项:
从那里,您将能够在 C/++ 透视图中查看包含本机代码的 Android 项目,包括在本机代码中设置断点和启动本机调试会话:
使用 Eclipse 进行本机调试有助于避免使用其他命令行方法遇到的整个世界的痛苦。
就命令行工具而言,如果您要在设备上执行命令行 gdb,我建议使用“ddd”工具作为 gdb 的前端。请参阅http://www.gnu.org/software/ddd/。在 OS X 上, ddd 在 Fink 包管理器中作为一个包提供。