zoukankan      html  css  js  c++  java
  • 定位一个 eclipse 插件运行错误

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

    image

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

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

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

    image

    一个个文件夹翻,出错的 class 文件正是:prehalexmafteieditorviewsEditor.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。。。问题解决!

  • 相关阅读:
    ASP设计常见问题及解答精要
    网页脚本加密解密
    有关表格边框的css样式表语法说明
    彻底搞定 Grub
    三千年来振奋过中国人的29句口号(是中国人就看看!)
    在Unix/Linux上令(java)JVM支持中文输出
    windows xp 下eclipse3.0.2+eclipseme+j2me wireless tooltik开发环境的配置
    在网页上显示公式
    Oracle认证考试详细介绍
    算法和数据结构排序快速排序
  • 原文地址:https://www.cnblogs.com/pied/p/14154953.html
Copyright © 2011-2022 走看看