JNA方式调用dll报错:A fatal error has been detected by the Java Runtime Environment:

本文介绍了一种在开发过程中遇到的Java与C++联调问题,并给出了具体的排查思路。通过跟踪C++类库找到错误源头,最终解决了Java层面出现的问题。文章还提供了两种调试环境设置方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看有人回复,说明也遇到这样的问题。

首先说明下面贴的是我自己开发过程中遇到的log文件内容。

1L问到解决方案,由于是自己做,不具有普遍解决问题的能力。
我这个问题,通过跟踪C++类库(Java与C++联调),发现是库里头报错了,导致返回一个error给Java。然后Java里就报下面这一堆东西~~~

唯一可以借鉴给你的可能是:如果确定不是Java的代码问题,那就要Java与C++联调,到C++里跟踪定位出问题出错的地方,这才可以快速定位和解决。


下面的log俺自己收藏用的,附件你就不要下了~~


关于Java与C++联调:
1)如果Java调用环境与VS环境都在同一个PC上
这是最爽歪歪的情况了。
VS里启动调试时,不是有个选择嘛,选择IE那个选项;然后到eclipse里,调用吧。

2)Java调用环境跟VS环境不在同一个PC上
那就苦逼了~~一个傻瓜而有效的做法是:C++代码里尽量加log。if u r a rookie,please do that: 任何一个可能异常的环节都加上log。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值