2011-03-22 11 views
13

Estoy depurando una aplicación C++ con VS2008 y con algunas consultas de selección largas No puedo ver el texto completo en el depurador. Simplemente muestra una parte de la consulta.¿Por qué las cadenas se muestran parcialmente en el depurador Visual Studio 2008?

¿Hay alguna manera de ver el texto completo?

Gracias de antemano.

enter image description here

EDIT: La consulta real, disponible en la cadena es:

select c.cd_seq, m.diag_code, m.diag_descr, 'S' as source 
from custom_booking_data c 
left outer join meddiagnosis m 
on c.cd_number_value = convert(decimal(28, 8), m.diag_urn) 
where c.custom_data_urn = 4 and c.cd_field = 433 
union 
select c.cd_seq, m.diag_code, m.diag_descr, 'H' as source 
from custom_booking_data c 
left outer join ordiagnosis m 
on c.cd_number_value = convert(decimal(28, 8), m.diag_urn) 
where c.custom_data_urn = 4 and c.cd_field = 594 
No

tanto tiempo si me preguntas.

+0

¿Cuánto tiempo estamos hablando aquí? He visto cosas que tenían entre 10.000 y 20.000 caracteres de largo sin truncar. En tu caso, parece que está en un ATL :: CString. ¿Tiene eso la longitud correcta? Tal vez la cadena está realmente truncada. –

+1

Haga clic en el icono del visualizador de texto, se ve como un catalejo. Si eso todavía se clipa, definitivamente considere simplificar sus consultas. –

+0

Es una cadena de unos 1.000 caracteres y sí, es un ATL: CString. ¿Cómo verificar si tiene la longitud correcta? Sé que la consulta completa está ahí porque se ejecuta y se recuperan los resultados esperados. –

Respuesta

0

Creo que puede hacer clic derecho en el elemento y luego 'copiar al portapapeles'. Luego pégalo en otro editor de texto.

+1

No, el valor también se copia parcialmente. –

+0

Haga clic con el botón derecho en el elemento del depurador, no copie el texto del cuadro de texto, ¡ya es demasiado tarde! – codymanix

+0

Lo he copiado de todas partes y el resultado siempre es la cadena truncada. –

1

¿Podría ser que su cadena contiene valores NUL '\ 0'? Los controles de cuadro de texto como los que usa el depurador los interpretarán como el final de la cadena.

+0

No, lo verifiqué pero la consulta se rompió en medio de una unión activa seleccione "union sel" –

2

Esto parece ser una 'característica' en Visual Studio. Veo lo mismo en VS2012 usando C#, con una cadena que tiene poco más de 500 caracteres.

La solución que encontré fue hacer clic derecho en la variable en el depurador y hacer una 'Observación rápida' en él. La cadena no se trunca en la ventana de Quick Watch.

+3

No ayuda con cadenas de más de 32768 caracteres. –

9

Hover la variable que desea ver, a continuación, haga clic en el icono lupa siguiente icono o seleccione la flecha derecha para el icono y seleccione Texto en el menú desplegable

enter image description here

Esto es el resultado, creo que se hizo esta ...

enter image description here

+2

No. La cuerda también se muestra cortada. –

+2

De hecho, no ayuda con cadenas de más de 32768 caracteres. –

+0

Parece que VS2015 puede mostrar más de 32K caracteres en este formulario. Todavía debería haber un límite, pero al menos es más alto que eso. – ScottRhee

1

se trata de un comentario, pero en realidad es la respuesta que estaba buscando: File.WriteAllText(@"C:\Temp\temp.txt", str)

Cuestiones relacionadas