• optorsim自带例子调试总结


      Optorsim网格模拟软件是欧洲粒子物理研究中心于 2002 年开始用 Java 编写的软件,是模拟真实的数据网格结构而开发的,目的是研究在某一特定环境下副本优化算法的有效性。OptorSim 是一种可扩展、易配置和编程的网格模拟工具,而且是一个源代码公开的、免费的软件模拟平台,具有开放的结构和良好的可扩充性。

      在运行optorsim自带例子的过程中,出现以下报错:

    ============= O P T O R S I M =============

    OptorSimMain> using default parameters file examples/parameters.conf

    GridConfFileReader> reading file examples/simple_grid.conf

    JobConfFileReader> reading file examples/simple_job.conf

    Assigning master files to specified sites

    Exception in thread "main" java.lang.NullPointerException at org.edg.data.replication.optorsim.infrastructure.JobConfFileReader.assignFilesToSites(JobConfFileReader.java:391)

          at org.edg.data.replication.optorsim.OptorSimMain.initStorageElements(OptorSimMain.java:110)

          at org.edg.data.replication.optorsim.OptorSimMain.init(OptorSimMain.java:67)

          at org.edg.data.replication.optorsim.OptorSimMain.main(OptorSimMain.java:51)

    在这个问题上纠结了好久,下午经过刘老师的亲自调试,终于有一些突破,现把调试的过程总结如下:

    1. 从报错上可知,这是一个空指针造成的问题,对应到JobConfFileReader.java:391。
    2. 在391上设置断点(run-toggle breakpoint),进行调试(debug(F11)),从Variables表中发现gsite的值为null。查看gsite的声明和引用(右键-Reference/Declarations-workspace),对应到gsite的声明行390。
    3. 在390上增加断点,重新进行调试(Terminate-Debug),查看代码和变量表可以知道findGridSiteByID( siteIndex)中的siteIndex的值为14导致了gsite的值为空。
    4. 进入findGridSiteByID函数进行调试(F5),可以看出if(gsite.iAm( id))这个语句没有执行,看了iAm的代码知道14并不是在所设置的节点范围内的值。从id的值是14知道,findGridSiteByID( siteIndex)中siteIndex的传递值为14。再看389行中的stite[i]是14,找到358行stites的声明,查看getFileDisribution函数。
    5. 进入getFileDisribution函数的声明,由String distribution = _table.getProperty("initial.file.distribution"),在配置文件parameters.conf中找到initial.file.distribution的赋值为14,从此项的说明可知是设置初始文件在各节点上的分布情况,现设置为0,1,3,4,5,6,8,9,则程序可以正常运行,显示图形化界面。

  • 相关阅读:
    spring——依赖注入
    jsp课程笔记(一)
    spring入门程序(一)
    关于java项目导入到eclipse无法访问的问题
    lnmp一键下载及安装
    spring配置文件application.Context配置文件的约束信息快速获取
    Tomcat下载与安装
    Nginx配置java项目在Tomcat下访问
    webstrom快捷键合集
    Ubuntu 开启SSH服务以及有关设置:安装,指定端口号、免密登录、远程拷贝
  • 原文地址:https://www.cnblogs.com/aniuer/p/2637192.html
Copyright © 2020-2023  润新知