•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 启动,单步调试是汇编代码,所以要在调试的函数中设置断点,运行到断点处再单步调试

你可能感兴趣的:(java,eclipse,c,jni,vc++)