JNI函数未被调用

时间:2012-05-22 19:01:08

标签: c++ java-native-interface

我需要调试团队成员的JNI问题。问题出在使用JNI连接USB连接硬件的Java应用程序中。他提到在Java应用程序中没有调用在C ++ dll中实现的JNI函数。他还特别提到,这不是一个不能令人满意的链接错误问题,这是我怀疑的第一件事。

奇怪的是,Java App在他的开发系统上工作正常,并且JNI调用正在正常进行。但是在QA团队的目标机器上,Java应用似乎不起作用。

使用VS2010生成DLL(32位),目标机器是WinXP / Win 7 32位系统。我会排除DLL方法签名问题,因为DLL在开发系统上被识别。如上所述,这不是链接问题。

在JNI方法中根本没有被调用的问题可能是什么?这可能是可再发行的问题吗?如何调试(使用JVM选项)并确定问题?

1 个答案:

答案 0 :(得分:0)

标准调试程序:

  1. 在Java中设置断点
  2. 跑到断点
  3. 将调试器附加到java可执行文件(按进程ID附加可视工作室)
  4. 在JNI中设置断点。
  5. 继续Java程序。