2011-09-14 92 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

相關問題