optorsim自带例子调试总结
2012-08-13 23:01
141 查看
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)
在这个问题上纠结了好久,下午经过刘老师的亲自调试,终于有一些突破,现把调试的过程总结如下:
从报错上可知,这是一个空指针造成的问题,对应到JobConfFileReader.java:391。
在391上设置断点(run-toggle breakpoint),进行调试(debug(F11)),从Variables表中发现gsite的值为null。查看gsite的声明和引用(右键-Reference/Declarations-workspace),对应到gsite的声明行390。
在390上增加断点,重新进行调试(Terminate-Debug),查看代码和变量表可以知道findGridSiteByID( siteIndex)中的siteIndex的值为14导致了gsite的值为空。
进入findGridSiteByID函数进行调试(F5),可以看出if(gsite.iAm( id))这个语句没有执行,看了iAm的代码知道14并不是在所设置的节点范围内的值。从id的值是14知道,findGridSiteByID( siteIndex)中siteIndex的传递值为14。再看389行中的stite[i]是14,找到358行stites的声明,查看getFileDisribution函数。
进入getFileDisribution函数的声明,由String distribution = _table.getProperty("initial.file.distribution"),在配置文件parameters.conf中找到initial.file.distribution的赋值为14,从此项的说明可知是设置初始文件在各节点上的分布情况,现设置为0,1,3,4,5,6,8,9,则程序可以正常运行,显示图形化界面。
在运行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)
在这个问题上纠结了好久,下午经过刘老师的亲自调试,终于有一些突破,现把调试的过程总结如下:
从报错上可知,这是一个空指针造成的问题,对应到JobConfFileReader.java:391。
在391上设置断点(run-toggle breakpoint),进行调试(debug(F11)),从Variables表中发现gsite的值为null。查看gsite的声明和引用(右键-Reference/Declarations-workspace),对应到gsite的声明行390。
在390上增加断点,重新进行调试(Terminate-Debug),查看代码和变量表可以知道findGridSiteByID( siteIndex)中的siteIndex的值为14导致了gsite的值为空。
进入findGridSiteByID函数进行调试(F5),可以看出if(gsite.iAm( id))这个语句没有执行,看了iAm的代码知道14并不是在所设置的节点范围内的值。从id的值是14知道,findGridSiteByID( siteIndex)中siteIndex的传递值为14。再看389行中的stite[i]是14,找到358行stites的声明,查看getFileDisribution函数。
进入getFileDisribution函数的声明,由String distribution = _table.getProperty("initial.file.distribution"),在配置文件parameters.conf中找到initial.file.distribution的赋值为14,从此项的说明可知是设置初始文件在各节点上的分布情况,现设置为0,1,3,4,5,6,8,9,则程序可以正常运行,显示图形化界面。
相关文章推荐
- opencv 2.4.4自带例子总结
- eclipse调试一个struts2例子时遇到的一些问题总结
- UCOS-II 中断与时钟问题总结(以UCOS2.25自带的X86例子)
- opencv下自带例子总结
- (10)caffe总结之运行caffe自带的两个简单例子
- cassandra自带例子portfolio安装调试问题
- KEIL for ARM 自带的例子程序虚拟串口调试
- ISO7220M芯片调试总结
- eclipse 上调试android的自带应用方法
- gdb调试方法总结
- gdb调试命令总结
- android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口)
- GDB 调试使用总结
- Android Android自带的Base64知识总结
- Intellij IDEA调试功能使用总结
- gcc编译libxml自带例子
- css 调试方法与经验总结
- 总结用Pdb库调试Python的方式及常用的命令