电子产业一站式赋能平台

PCB联盟网

搜索
查看: 140|回复: 0
收起左侧

Cadence Capture 常见启动故障总结

[复制链接]

679

主题

679

帖子

2524

积分

三级会员

Rank: 3Rank: 3

积分
2524
发表于 2024-6-17 23:56:00 | 显示全部楼层 |阅读模式
今天有小伙伴向老wu咨询了个Capture 16.6的启动异常问题,如下图所示

rpy0g0oht1s64070239.png

rpy0g0oht1s64070239.png

这个问题老wu之前也有遇到过,只是当时没有找到造成该异常的真正原因,所以直接使用了重装操作系统大法解决了。今天再次面对这个启动异常的问题,老wu建议其尝试了清空Spb_data目录,卸载VC++2005运行库之后重装Cadence SPB 自带的VC++2005运行库等修复方法,但启动异常问题依然存在。

zslmocq2ixi64070339.png

zslmocq2ixi64070339.png


3ibrff5ffmr64070439.png

3ibrff5ffmr64070439.png

如果采用重装操作系统大法肯定是能解决问题,但重装完操作系统之后又要重装许多应用软件,也是挺折腾人的事情,所以觉得有必要花时间分析一下,彻底搞定这个启动异常的问题。
该排查的地方也都排查过了,只能是先跟踪下capture的启动过程,看下都调用了哪些配置文件和dll,看看能不能找到些线索。

xtfuhl4slyb64070539.jpg

xtfuhl4slyb64070539.jpg

果然发现了问题点,16.6的Capture.exe 去调用了17.4的dll,所以造成了启动异常。
问题根源找到了,那解决思路就清晰了,Cadence程序的相关dll文件路径是在环境变量里设置的,应该是PATH的读取优先级问题。PATH中的dll读取策略是从PATH中配置的路径头部开始读取,读取到同名的dll文件之后就不会再继续往后读取了,所以这里先把17.4的dll路径往下移降低其读取优先级,将%CDSROOT%对应的路径排在前边即可。

i0x5xvoqrp064070640.png

i0x5xvoqrp064070640.png

总结一下,这个启动异常的问题是同时安装了多个版本的Cadence SPB造成的,如果先装了高版本的SPB如17.4再装16.6应该不会有问题,而如果先装的16.6后装的高版本,则后装的Cadence相关的库路径会在PATH里排在前边(读取优先级更高),造成16.6读取到了高版本的dll文件所以加载出错了。
另一个常见的多版本共存的问题也是先装16.6后装17.4造成的,如下图所示的cdn_xxx开头的错误。

fhrnqcz2ogk64070740.png

fhrnqcz2ogk64070740.png

这是因为后装的高版本Cadence SPB修改了%CDSROOT%这个环境变量,指向了高版的SPB的安装路径造成16.6启动读取dll文件出现版本异常,此时只需手动修改环境变量CDSROOT,指向16.6的安装后的路径即可,如下图所示

g3kiz4wvvvz64070840.png

g3kiz4wvvvz64070840.png

还有一个非常常见的问题是16.6的VC++ 2005 运行库造成的问题,如下图所示

dlfmcthoj4p64070940.png

dlfmcthoj4p64070940.png


这个只需卸载系统里现有的VC++ 2005的运行库后重新安装16.6自带的运行库即可。

d3xe21yk0an64071041.png

d3xe21yk0an64071041.png

Cadence 16.6的VC++ 2005运行库在16.6的安装后的路径『SPB_16.6        ools\msbase』下,vcredist_x86.exe和vcredist_x64.exe都装上即可。

aujothgg0pi64071141.png

aujothgg0pi64071141.png



lzvhmwpspac64071241.jpg

lzvhmwpspac64071241.jpg
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表