當我在eclipse中調試遊戲時,遊戲運行良好。然而,當我將可運行的jar放出來時,當敵人被擊中時遊戲會崩潰,除了那部分遊戲外,其餘的遊戲都可以正常工作。我該怎麼做,我該如何調試可運行jar?如何在調試器中不發生崩潰時調試可運行jar?
4
A
回答
6
將一個try/catch放在敵人被擊中的地方。在catch語句中,讓它打印一個堆棧跟蹤並捕獲異常信息。
喜歡的東西:
try {
enemyHit();
} catch (Exception e) {
System.out.print("RuntimeException: ");
System.out.println(e.getMessage());
e.printStackTrace();
}
運行在命令行,這樣打印出來的仍然存在的jar崩潰時的罐子。或者,將錯誤信息寫入文件。
如果這沒有捕獲任何東西,你可以把try/catch放在棧上。如果你沒有捕捉到其他地方的異常,你可以把這個嘗試抓住你的主循環周圍的堆棧頂部。
如果您確信bug已經解決,我不會推薦在發佈代碼中保留try/catch。與try/catch相關的性能問題會讓你的遊戲變慢,如果你讓他們圍繞經常訪問的函數。
1
創建一個新的項目和可運行jar添加到外部罐子,然後使用運行配置,你可以選擇它的主要方法和調試從那裏
您還可以設置JAR的源文件夾源其他項目的文件夾(只記得熱代碼替換不再工作了)
0
當我有一個類似於你的問題看到它下降到調試器需要一點額外的時間(尤其是斷點)然後編譯的程序。
這個問題發生時我正在試圖asyncronously載入紋理編譯時,它會工作在調試器,但崩潰很好,我會考慮任何線程(如果您有任何)或任何其他不再運行項目
相關問題
- 1. 調試程序不在調試器中運行,沒有崩潰
- 2. 調試在調試器內部不會發生的崩潰
- 3. 如何在未連接到調試器時調試android崩潰
- 4. 如何調試在發佈版本中發生的崩潰只
- 5. 10.9.5 libdispatch產生崩潰 - 如何調試?
- 6. GetOverlappedResult()在運行時崩潰,但從VC++ 2010調試時不崩潰
- 7. 崩潰時調試在iPhone模擬器
- 8. iOS如何調試崩潰?
- 9. 如何調試IE8崩潰?
- 10. TextInput崩潰 - 如何調試?
- 11. 如何調試GPF崩潰?
- 12. 如何調試VB6崩潰?
- 13. Eclipse調試器在調試項目時崩潰
- 14. Visual Studio在崩潰時不調試
- 15. iPhone - 在找不到時調試崩潰
- 16. 等待調試器崩潰?
- 17. 如何調試SWF瀏覽器崩潰
- 18. Angular2在任何時候崩潰調試
- 19. 調試崩潰(C++)
- 20. 調試Silverlight崩潰
- 21. 調試tomcat崩潰
- 22. 調試Python崩潰
- 23. 調試WP7崩潰
- 24. 在運行時發出代碼崩潰,但不是在調試,爲什麼
- 25. 做什麼,如果調試運行正常,但發佈崩潰
- 26. 彙編(tasm)程序在運行時崩潰,但在調試器(turbo調試器)中工作正常
- 27. 如何在運行Silverlight應用程序時調試瀏覽器崩潰
- 28. 如何在調試時運行測試
- 29. 如何調試Windows Mobile上發生的崩潰
- 30. Delphi2007:在調試器中繼續暫停應用程序時發生崩潰
如何我從命令行運行jar嗎? – 2013-04-16 17:08:59
windows鍵+ r,鍵入'cmd'按回車。輸入'cd path \ to \ your \ game'然後運行'java -jar NAMEOFJAR.jar' – MichaelHouse
它給了我這個錯誤:http://shrani.si/f/3Z/JK/1lD5YSkb/error.png – 2013-04-16 17:14:30