NX二次开发 查找错误_dll执行函数时捕获到异常

本文探讨了在Win7x64环境下NX12二次开发的DLL在用户电脑上无法使用的问题,分析了可能的原因,包括环境变量、权限、临时文件路径、依赖库、文件名重复及中文路径等问题,并提供了详细的排查步骤。

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

环境:Win7 x64,NX12

内容:NX二次开发的dll, 用户电脑上不能使用

原因:这里大致总结一下图片问题的可能原因:

1.检查客户电脑环境变量,NX版本,release,是否签名,权限问题
2.功能中用到产生的临时文件路径是否合理,是否被杀毒软件过滤
3.检查报错功能调用了那些库,与正确的功能找不同
4.使用depends 工具查看报错dll依赖了那些dll
5.报错dll的名字是否重复,如果客户先用了其他外挂,那恰好有两个文件同名,后者会报错
6.项目放置位置包含中文路径,导致Dll查找不到

附加:

1.匿名命名空间内有类似 string path = getUGenv() 这样的函数也有可能报错,这个问题之前遇到过在自己的电脑正常,在客户电脑上就不行,原因是电脑环境变量NX安装路径不同。

2. 编写了一个测试项目,里面包含各种代码文件,包括自己添加的公共库文件,卸载方式是立即卸载,但采用附加到进程中的方式调试,重新编译失败,提示DLL一直被占用,原因是公共库源码文件新增的几个函数无法识别:error lnk2019: 无法解析的外部符号,最后也没找到办法,只好将公共库文件单独摘成一个项目,然后单独调用就可以了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值