首页 > 解决方案 > JNI c++ Netbeans 调试

问题描述

我有一个与 JNI C++ 应用程序通信的 java 应用程序。我的 java 应用程序在 eclipse 中,而我正在使用带有 mingw64 位编译器的 C++ 的 netbeans。我似乎无法调试应用程序的 JNI 部分。

我在java应用程序中加载dll。从 netbeans 我去 Debug->Attach Debugger 选择 javaw.exe 这使我的 eclipse 卡住了,我在 eclipse IDE 中得到了异常:

org.eclipse.jdi.TimeoutException. Timeout occurred while waiting for packet. occurred creating step request

我的调试程序正确吗?如何配置 netbeans 来调试 JNI 应用程序。

标签: c++eclipsenetbeansjava-native-interface

解决方案


这可能是因为您的调试器在附加时停止了所有线程,并且之后没有让它们正常恢复(不知道为什么会发生这种情况。它似乎只发生在某些计算机上,而在其他计算机上工作正常)。一种对我有用的解决方法是 - 在您的 C++ 调试器配置中,在调试器选项卡中,勾选“不间断模式”复选框。这将阻止您的调试器停止您的线程,并且超时应该停止发生。


推荐阅读