Unreal3引擎中,大量使用了自定義的模版或數據類型,比如TArray、FName、FString等等,對于這三種數據類型,我們無法在VS2005中直接查看他們的值(起碼不能像std::vector/std::string一樣直觀查看)。
通過msdn,得知vs2005的autoexp.dat可以可以給自定義的數據類型編寫可視化腳本從而實現直觀的調試。
經過一番研究,實現了對Unreal3數據類型的直觀的可視化調試,方法如下:
打開vs2005目錄中的autoexp.dat文件
找到[AutoExpand],在[AutoExpand]的下面添加一行:
FNameEntry=<Name,su>
翻到文件最后,添加以下代碼到文件的最后:
; Unreal格式的數組
TArray<*>{
children
(
#array
(
expr : (($T1*)($c.Data))[$i],
size : $c.ArrayNum
)
)
preview
(
#(
"[",
$c.ArrayNum ,
"](",
#array
(
expr : (($T1*)($c.Data))[$i],
size : $c.ArrayNum
),
")"
)
)
}
; Unreal格式的FName
FName{
preview([((FNameEntry**)FName.Names.Data)[$c.Index]])
stringview([((FNameEntry**)FName.Names.Data)[$c.Index]])
}
; Unreal格式的字符串
FString{
preview([$c.Data,su])
stringview([$c.Data,su])
}
然后,到調試器里盡情看TArray、FString、FName等等平時不容易看的數據吧。效果圖就不貼了。
此方法可以舉一反三,用來實現對任意數據類型的查看。