zoukankan      html  css  js  c++  java
  • 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,则程序可以正常运行,显示图形化界面。

  • 相关阅读:
    C# 打印文件
    oc语言学习之基础知识点介绍(五):OC进阶
    oc语言学习之基础知识点介绍(四):方法的重写、多态以及self、super的介绍
    oc语言学习之基础知识点介绍(三):类方法、封装以及继承的介绍
    oc语言学习之基础知识点介绍(二):类和对象的进一步介绍
    oc语言学习之基础知识点介绍(一):OC介绍
    c语言学习之基础知识点介绍(二十):预处理指令
    c语言学习之基础知识点介绍(十九):内存操作函数
    XCTF-ics-04
    Portswigger-web-security-academy:dom-base_xss
  • 原文地址:https://www.cnblogs.com/aniuer/p/2637192.html
Copyright © 2011-2022 走看看