jni c++ java怎么调试
1个回答
展开全部
这个怎么操作我也给你不好说,只能是逐步调试定位问题了。
建议如下:
1. 你先建立一个C/C++的测试工程,来具体调试你的JNI所使用的C/C++代码,待你的JNI所调用的C/C++代码没问题了,在使用Java的JNI来调用。
2. 如果这时候还出错了,那就该重点监视你的JNI函数调用部分,看看那里有没有使用错误,比如一个对象没有获取就开始使用了、字符串/数组操作有没有越界、JNI获取FieldID或者MethodID是否成功、调用的Field、Method、class 是否存在之类的。这个好像是没法调试的,只能添加打印信息和死机时候的栈信息来逐步定位问题了
呵呵,调试JNI还是需要耐心的,当年就为了跑通一个HelloWorld都搞了大半个晚上的,希望上面的经验对你能有所帮助
建议如下:
1. 你先建立一个C/C++的测试工程,来具体调试你的JNI所使用的C/C++代码,待你的JNI所调用的C/C++代码没问题了,在使用Java的JNI来调用。
2. 如果这时候还出错了,那就该重点监视你的JNI函数调用部分,看看那里有没有使用错误,比如一个对象没有获取就开始使用了、字符串/数组操作有没有越界、JNI获取FieldID或者MethodID是否成功、调用的Field、Method、class 是否存在之类的。这个好像是没法调试的,只能添加打印信息和死机时候的栈信息来逐步定位问题了
呵呵,调试JNI还是需要耐心的,当年就为了跑通一个HelloWorld都搞了大半个晚上的,希望上面的经验对你能有所帮助
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询