2011-09-14 52 views
12

Visual Studio如何在C++中显示矢量的元素或字符串的字符?有没有办法让我以自定义的方式显示自己的课程?Visual C++调试器可视化器?

+0

另请参阅[Boost 1.54 multiprecision visualizer](http://www.boost.org/doc/libs/1_54_0/libs/multiprecision/doc/html/boost_multiprecision/啧/杂项/ visualizers.html)。它将条目添加到'autoexp.dat'。 – jww

回答

13

http://msdn.microsoft.com/en-us/library/zf0e8s14(v=VS.100).aspx

对于原生代码,您可以添加自定义数据类型扩展到文件 autoexp.dat,它位于计划Files \ Microsoft的Visual Studio的 10.0 \ Common7 \包\调试目录。关于 写入自动推断规则的说明位于文件本身中。

对于这个类:

template<class T> 
struct auto_array { 
    T* data; 
    int Len; 
}; 

的autoexp.data可能看起来像:

auto_array<*> { 
    children 
    (
     #array 
     (
      expr :  $e.Data[$i], 
      size :  $e.Len 
     ) 
    ) 
    preview 
    (
     #(
      "[", $e.Len , "](", 
      #array 
      (
       expr : $e.Data[$i], 
       size : $e.Len 
      ), 
      ")" 
     ) 
    ) 
} 

KindDragon报道说的Visual Studio 2012采用了新的文件格式:natvis

+0

哦有趣!看起来很容易,非常感谢! :) – Mehrdad

+6

Visual Studio 2012使用新的文件格式natvis http://blogs.msdn.com/b/vcblog/archive/2012/07/12/10329460.aspx – KindDragon

3

您可以将自定义C++类型的可视化器添加到autoexp.dat文件。文件中使用的格式和位置从Visual Studio的版本更改为版本,但如果您使用Google for autoexp.dat,则应该找到一些如何对其进行自定义的示例。

+0

很酷,谢谢! +1 – Mehrdad

相关问题