QQ小游戲 調(diào)試

2020-07-15 15:54 更新

vConsole

在真機上,如果想要查看 console API 輸出的日志內(nèi)容和額外的調(diào)試信息,需要在點擊屏幕右上角的按鈕打開的菜單里選擇「打開調(diào)試」。此時小程序/小游戲會退出,重新打開后會右下角會出現(xiàn)一個 vConsole 按鈕。點擊 vConsole 按鈕可以打開日志面板。

小程序和小游戲的 vConsole 展示內(nèi)容會有一定差別,下圖左邊是小程序 vConsole,右邊是小游戲 vConsole

vConsole 使用說明

由于實現(xiàn)機制的限制,開發(fā)者調(diào)用 console API 打印的日志內(nèi)容,是轉(zhuǎn)換成 JSON 字符串后傳輸給 vConsole 的,導(dǎo)致 vConsole 中展示的內(nèi)容會有一些限制:

  • 除了 Number、String、Boolean、null 外,其他類型都會被作為 Object 處理展示,打印對象及原型鏈中的 Enumerable 屬性。

  • InfinityNaN 會顯示為 null。

  • undefinedArrayBuffer、Function 類型無法顯示

  • 無法打印存在循環(huán)引用的對象

const a = {}
a.b = a
console.log(a) 

針對上述問題,小程序/小游戲在使用 vConsole 時做了一些處理

const circular = {x: {}, c: {}}
circular.x = [{promise: Promise.resolve()}]
circular.a = circular
circular.c.x0 = circular.x[0]


console.log(circular)
// "{a: '<Circular: @>', c: {x0: '<Circular: @.x[0]>'}, x: [{promise: '<Promise>'}]}"



注:盡量避免在非調(diào)試情景下打印結(jié)構(gòu)過于復(fù)雜或內(nèi)容過長的日志內(nèi)容(如游戲引擎中的精靈或材質(zhì)對象等),可能會帶來額外耗時。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號