在VS2005调试器中显示Unreal3的数据

在VS2005调试器中显示Unreal3的数据
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等等平时不容易看的数据吧。效果图就不贴了。
此方法可以举一反三,用来实现对任意数据类型的查看。


你可能感兴趣的:(在VS2005调试器中显示Unreal3的数据)