Unreal3引擎中,大量使用了自定義的模版或數(shù)據(jù)類型,比如TArray、FName、FString等等,對(duì)于這三種數(shù)據(jù)類型,我們無(wú)法在VS2005中直接查看他們的值(起碼不能像std::vector/std::string一樣直觀查看)。
通過(guò)msdn,得知vs2005的autoexp.dat可以可以給自定義的數(shù)據(jù)類型編寫可視化腳本從而實(shí)現(xiàn)直觀的調(diào)試。
經(jīng)過(guò)一番研究,實(shí)現(xiàn)了對(duì)Unreal3數(shù)據(jù)類型的直觀的可視化調(diào)試,方法如下:
打開vs2005目錄中的autoexp.dat文件
找到[AutoExpand],在[AutoExpand]的下面添加一行:
FNameEntry=<Name,su>
翻到文件最后,添加以下代碼到文件的最后:
; Unreal格式的數(shù)組
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])
}
然后,到調(diào)試器里盡情看TArray、FString、FName等等平時(shí)不容易看的數(shù)據(jù)吧。效果圖就不貼了。
此方法可以舉一反三,用來(lái)實(shí)現(xiàn)對(duì)任意數(shù)據(jù)類型的查看。