定位一个 eclipse 插件运行错误

插件是其它部门做的,同事用这个插件都没有问题,但是我这就不好使了,一打开就报错了:

image

看起来像是某个文件找不到。

但是这个插件拿不到源代码,先找到插件看看有没有什么线索。

找到插件 jar 文件 ‘xxx_Editor_4.5.0.jar’,因为 jar 文件其实就是个 zip 压缩包,用解压软件解压缩:

image

一个个文件夹翻,出错的 class 文件正是:xxxx\alexmaftei\editor\viewsEditor.class

因为 Java 虚拟机里跑的其实都是 bytecode,如果没有进行混淆或者加密什么的,是很容易再反编译回源代码的。

这个工具是公司内部用,没有啥混淆或者加密的必要,所以,应该是没问题可以反编译的。

http://javare.cn 对 viewsEditor.class 进行反编译,成功得到 viewsEditor.java。有希望了!

在源文件中搜索,出问题的函数:

   public void createPartControl(Composite parent) {
      String generalConfigPath = getSoftwareFolderPath() + "/02_SW";
      File file = searchFile(generalConfigPath, "AUTOSAR_MOD_ECUConfigurationParameters.arxml");
...
   }

在目录中手动搜索,文件 AUTOSAR_MOD_ECUConfigurationParameters.arxml 是有的,那应该是 getSoftwareFolderPath() 这个函数的问题。

复制代码
public static String getSoftwareFolderPath() {
...
   for(int swPath = 0; swPath < subPath.length; ++swPath) {
       if(subPath[swPath].contains("Software")) {
          swPathId = swPath;
       }
    }
...
}
复制代码

这里居然是匹配含有 “Software” 字符串的文件夹名字。。。而我为了图省事,项目根目录是从这个目录下一级开始。。。所以并没有这个“顶层”文件夹。

 

问题定位了,那么,解决方案只有一个,从 software 目录的上一级开始 get。。。问题解决!

posted @   Biiigfish  阅读(130)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示