【问题标题】:How to set C++ breakpoint in Eclipse Android Native Development Kit (NDK)?如何在 Eclipse Android Native Development Kit (NDK) 中设置 C++ 断点?
【发布时间】:2014-05-31 22:33:27
【问题描述】:
我正在尝试使用 Android 本机开发工具包 (NDK) 将 Linux C++ 应用程序移植到 Android。到目前为止,我的移植应用程序在我的 Mac 上的模拟器上运行。我尝试在 Eclipse 中的 C++ 代码中的特定行设置断点,但代码运行通过我的断点而没有停止。一行上的 java 断点工作正常,只是 C++ 断点似乎没有任何效果,代码只是按编写的方式运行并返回。
如何在我的 C++ 代码中设置断点,以便我可以在模拟器中开发的 Android 应用程序中单步执行本机代码?
【问题讨论】:
标签:
android
c++
android-emulator
android-ndk
breakpoints
【解决方案1】:
调试 Java 时不能设置 C++ 断点。您需要运行Debug As > Android Native Application。在 Eclipse 中,可命中断点有一个刻度。
为了作为Android原生应用程序调试,你的应用程序需要有Native Support,你需要有CDT plugin并且你应该在构建命令中添加NDK_DEBUG=1。
更多信息here。
【解决方案2】:
我不同意 Pau Guillamon 的回答:
调试 Java 时不能设置 C++ 断点。
您可以在调试 Java 时设置 C++ 断点。我正在使用 Ubuntu 12.04,您可以在其中执行此操作:
root#apt-get install gcj-sdk
............................
root#man gcj
要了解更多信息,请参阅:
-
使用 GCJ 编译 Java 作者:Per Bothner
-
使用 gdb 进行 Java 调试 作者:Matt Welsh