2011-09-14 6 views
12

In che modo Visual Studio mostra gli elementi di un vettore oi caratteri di una stringa in C++? C'è un modo per farmi mostrare le mie lezioni in modo personalizzato?Visualizzatore del debugger di Visual C++?

+0

anche vedere [Boost 1.54 visualizzatore multiprecisione] (http://www.boost.org/doc/libs/1_54_0/libs/multiprecision/doc/html/boost_multiprecision/ tut/misc/visualizers.html). Aggiunge voci a 'autoexp.dat'. – jww

risposta

13

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

Per il codice nativo, è possibile aggiungere il tipo di dati espansioni personalizzate per il file autoexp.dat, che si trova nella Studio 10.0 \ Common7 \ Packages \ Programmi \ Microsoft Visual Debugger . Le istruzioni su come scrivere regole di autoexp si trovano nel file stesso.

Per questa classe:

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

l'autoexp.data potrebbe essere simile:

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

KindDragon rapporti che Visual Studio 2012 utilizza un nuovo formato di file: natvis

+0

Ooh interessante! Sembra piuttosto facile, grazie mille! :) – Mehrdad

+6

Visual Studio 2012 utilizza un nuovo formato di file natvis http://blogs.msdn.com/b/vcblog/archive/2012/07/12/10329460.aspx – KindDragon

3

È possibile aggiungere visualizzatori per tipi C++ personalizzati al file autoexp.dat. Il formato utilizzato nel file e la posizione cambiano dalla versione alla versione di Visual Studio, ma se si utilizza Google per autoexp.dat dovresti trovare alcuni esempi su come personalizzarlo.

+0

Cool, grazie! +1 – Mehrdad