JNI 在 VC++6.0 中如何调试 DLL

编写 JNI 时,数据类型名字遵循 Java 的相关规则,如 jint,jchar,jboolean,jlong 等,DLL 代码和 Java 代码交换数据也有自己的一套方法,如 env->GetFieldID(),env->GetMethodID() 等,需要一些时间才能熟悉,初学总是难免犯一些低级错误,所以掌握正确的调试方法尤为重要。

 

本人采用的工具是:Eclipse、VC++6.0

 

步骤如下:

  • Eclipse 新建工程,编写 Java 代码
  • cmd 进入命令行模式,切换到工程目录的 bin 文件夹,javah -jni com.ldq.xxx 生成头文件 _com_ldq_xxx.h
  • VC++6.0 新建 DLL 工程,编写源文件 _com_ldq_xxx.cpp
  • 注意将 jni.h 文件和 jni_md.h 文件位置加入 Include 路径
  • DLL 无法自已运行,需要可执行的 exe 调用 DLL 才可以,VC++6.0 中的设置如下
    • 在左侧 workspace 中,右键点击建立的DLL工程,选 Settings ,选 Debug 选项卡,依次填入
      • Executable for debug session 填入 C:\Program Files\Java\jdk1.6.0_13\bin\java.exe
      • Working directory 填入 DLL工程路径\debug
      • Program arguments 填入 com.ldq.xxx
    • 将 Eclipse 工程路径下 bin 文件夹的类文件拷贝到 DLL工程路径\debug 下
    • 由于从 java.exe 启动,单步调试是汇编代码,所以要在调试的函数中设置断点,运行到断点处再单步调试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值