如何使用java项目在eclipse中调试原生jni c++代码

roh*_*roy 6 java debugging dll java-native-interface native

我有一个 Java 项目,其中使用了本机库 (dll),其代码是用 CPP 编写的。我想调试 java 应用程序,一旦到达在 dll 中编译的本机方法的某个点,我想进入 CPP 代码。我该怎么做?是否有任何可用的 IDE 可以在 java 和 cpp 代码之间切换调试?

use*_*253 4

不知道有任何调试器可以实际切换,但您可以将两个调试器附加到您的进程。在 Java IDE 中以调试模式启动 Java 程序会附加 Java 调试器。然后打开用于 CPP 代码的 IDE,并将其调试器附加到正在运行的 Java 进程。

在 Visual Studio 中,这将是Debug -> Attach to Process.... 您将看到一个带有进程列表的对话框。在这里选择您的 Java 进程。如果 Visual Studio 无法正确检测到,您可能必须将列表上方的字段切换为“本机代码”。在 CPP 代码中设置适当的断点,调试器将在那里停止。确保您的 Java 进程加载库的调试版本才能使其正常工作。