2011-09-14 19 views
12

¿Cómo muestra Visual Studio los elementos de un vector, o los caracteres de una cadena, en C++? ¿Hay alguna manera de que haga que muestre mis propias clases de forma personalizada?visualizador de depurador de Visual C++?

+0

Véase también [Boost 1.54 multiprecision visualizer] (http://www.boost.org/doc/libs/1_54_0/libs/multiprecision/doc/html/boost_multiprecision/ tut/misc/visualizers.html). Agrega entradas a 'autoexp.dat'. – jww

Respuesta

13

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

Para el código nativo, puede agregar extensiones de tipos de datos personalizados al archivo autoexp.dat , que se encuentra en el Estudio 10,0 \ Common7 \ Paquetes directorio depurador Archivos de programa \ Microsoft Visual \ . Las instrucciones sobre cómo escribir para escribir reglas de autoexp están ubicadas en el archivo.

Para esta clase:

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

la autoexp.data podría ser:

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

KindDragon informes que Visual Studio 2012 utiliza un nuevo formato de archivo: natvis

+0

¡Oh, interesante! Parece bastante fácil también, ¡muchas gracias! :) – Mehrdad

+6

Visual Studio 2012 utiliza un nuevo formato de archivo natvis http://blogs.msdn.com/b/vcblog/archive/2012/07/12/10329460.aspx – KindDragon

3

Puede agregar visualizadores para tipos personalizados de C++ al archivo autoexp.dat. El formato utilizado en el archivo y la ubicación cambia de una versión a otra de Visual Studio, pero si busca en Google autoexp.dat, debe encontrar algunos ejemplos de cómo personalizarlo.

+0

Genial, gracias! +1 – Mehrdad

Cuestiones relacionadas