我想在構建的遊戲中檢查異常和錯誤,但遊戲中沒有調試控制檯,所以我想創建一個。有沒有辦法從原始控制檯獲取這些錯誤並將其寫入屏幕?Unity3D在沒有控制檯的情況下獲取錯誤 - android build
0
A
回答
2
您可以將一個回調函數添加到Application.logMessageReceived
以接收Debug。*消息。例如:
void Awake(){
Application.logMessageReceived += HandleLog;
}
private void HandleLog(string logString, string stackTrace, LogType type) {
// add them to some UI component for visualizing
}
0
有一些插件,你可以買到做到這一點。免費的方法是補充一點,你有下面這段代碼更新文本對象:
public class Logger : MonoBehaviour
{
public Text text;
private static Text textSt;
private static Queue<string> queue = new Queue<string>();
void Awake()
{
textSt = text;
}
public static void Log(string message)
{
Debug.Log (message);
queue.Enqueue(message);
if(queue.Count == 10)
{
queue.Dequeue();
}
StringBuilder sb = new StringBuilder();
foreach(string str in queue)
{
sb.Append(str +"\n");
}
textSt.text = sb.ToString();
}
}
的Logger.Log方法被調用到位的的debug.log。如果你需要得到錯誤和異常,你可以把try/catch放在你希望問題的地方,然後放置Logger。
文本被放大,以顯示更多的信息,並設置其底端對齊(如堆棧)
你可以對顏色添加一個額外的參數,以便它顯示警告,消息和錯誤使用不同的顏色。
編輯:您可以使用塞巴斯蒂安的答案與我的打印系統,因爲他的建議抓住所有調試(我失蹤)。
相關問題
- 1. 在沒有控制檯的情況下運行minGW控制檯程序
- 2. 在沒有DisplayObject的情況下在ActionScript-3中獲取舞臺?
- 3. 無法在沒有控制的情況下運行交互式控制檯TTY
- 4. Android的情況下錯誤
- 5. 在沒有xming的情況下在控制檯模式下安裝weblogic
- 6. 在沒有統計的情況下獲取沒有行的表
- 7. Node.js在沒有暫停的情況下在新的控制檯中打開
- 8. 在沒有ANSI顏色序列的情況下獲取log4j控制檯的顏色日誌
- 9. Java - 如何讓它在沒有控制檯窗口的情況下運行
- 10. 在沒有控制檯的情況下執行MySQL查詢失敗
- 11. 讓一個py2exe exe在沒有控制檯的情況下運行?
- 12. 在沒有控制檯窗口的情況下運行OpenCV應用程序
- 13. 如何在沒有Windows控制檯出現的情況下運行Python腳本
- 14. 是否可以在沒有stdlibs的情況下寫入控制檯? c/C++
- 15. 如何在沒有標準庫的情況下打印到控制檯(Linux)(libc)
- 16. 在沒有軟件包管理器控制檯的情況下安裝C#庫
- 17. 如何在沒有交互式控制檯的情況下進行調試
- 18. 在沒有控制檯的情況下運行python GUI打包到win32
- 19. Symfony項目在沒有控制檯的情況下運行時不工作
- 20. 如何在沒有Rails控制檯的情況下執行CRUD操作?
- 21. 如何在編譯錯誤的情況下忽略gant-build?
- 22. 在沒有命令行參數的情況下失敗Ant build
- 23. 如何在沒有網站的情況下獲取包名?
- 24. 在沒有Object.assign的情況下使用mapActions錯誤?
- 25. watir獲取控制檯錯誤
- 26. 在沒有後臺bean的情況下即時獲取inputText的值?
- 27. 如何在沒有訪問服務器的情況下獲取訪問控制 - 允許 - 來源錯誤的情況下調用REST服務?
- 28. jquery加載不做任何事情,沒有控制檯錯誤
- 29. 與iostream的使用情況控制檯程序編譯錯誤
- 30. 在沒有控制面板的情況下安裝magento
實際上想知道是否有這樣的方法。 – Everts
如何現在打印它? 什麼是stackTrace? – Konowy
stacktrace是在異常發生時執行哪個方法的寄存器(請參閱https://en.wikipedia.org/wiki/Stack_trace)。如果你問的是,我建議你檢查一些編程書籍或在線資源,並學習這個和其他基本概念,因爲你一定會需要它們。至於顯示錯誤,我認爲@fafase已經提出了一種方法。用文本創建一個GUI元素並附加到它。 – Sebastian