資源描述:
《The One仿真器問題集》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、修改前(壞掉)修改後(正常)1.infocom2006(完整版/切割版)在BubbleRap中無法正常執(zhí)行,跑一個小時後,會在ConnectionUp=>…=>CWindowCentrality的getGlobalCentrality中發(fā)生NullPointerException程式錯誤,如下原因在於:原本的CWindowCentrality的getGlobalCentrality中沒有做例外處理,修改後即可.1.Infocom2006在BubbleRap中會造成NullPointerException問題(此為BubbleRap本身設(shè)計造成的bug,而修正此bug後
2、的ONE版本都會標(biāo)記”修正版”)原因:當(dāng)buffersize設(shè)3Mmessagesize設(shè)25k代表messages只能存120個msg當(dāng)7649秒從messages刪除Y4之後,Y4還存在於ActiveRouter的outgoingmessages內(nèi)因為在update時tryMessagesForConnected從頭到尾都使用outgoingmessages取m跟con,並不會發(fā)現(xiàn)messages中已經(jīng)刪除Y4了直到transferDone時才去messages找Y4,已經(jīng)早就被刪除了,而造成NULL(詳細(xì)說明可參考20140310投影片)解決方法:Decisio
3、nEngineRouter(上圖)修改前(下圖)修改後在tryMessagesForConnected前先檢查Messages內(nèi)的msg在不在,則可避免nullpointer問題1.不管TTL多少,跑出來的cost和deliveryratio都一樣解決方法:在DecisionEngineRouter的createNewMessage中加入m.setTtl(this.msgTtl);4.Eclipse執(zhí)行BubbleRap時遇到:解決方法:RunConfiguration的Arguments要加入bubble.txt5.將以下幾個資料夾和檔案放到j(luò)avaproject/
4、src資料夾,就可以用run.bat去執(zhí)行compiler跟one執(zhí)行小黑窗版,然後用Eclipse瀏覽code,但可能小黑窗compiler過,改變了classpath之類的,就會導(dǎo)致Eclipse無法跑這份程式了,只能用Eclipse瀏覽code,還算方便(按住ctrl移到object或method上可以自動進(jìn)入該class)結(jié)論:用小黑窗跑程式,用eclipse看code