2009-05-07 21 views
5

Desde hace algún tiempo cuando depuro aplicaciones de Visual C++ y veo cualquier variable CString o char * (o cualquier otra tipo de carácter ascii) en Local, Auto, o Ver ventanas de depuración, los caracteres CR/LF en mis variables no se muestran en absoluto.Visualización de ventana de depuración de Visual C++ de CR/LF en Visual Studio 2008

En otras palabras, si tengo una variable de cadena establecida en "Esta es una línea \ r \ nEsta es otra línea" en mi código, la ventana de depuración mostrará "Esta es una líneaEsta es otra línea". Lo que me gustaría que muestre es "Esta es una línea □□ Esta es otra línea" para que pueda ver los dos caracteres adicionales en ese texto.

Esto me ha causado algunos errores al intentar depurar el código de análisis sintáctico de cadenas. Tenga en cuenta que el visualizador de texto divide correctamente el texto en líneas separadas, pero no quiero usar el visualizador de texto si no es necesario. Además, algunos de mis compañeros de trabajo pueden ver los caracteres CR/LF de la manera correcta, pero no podemos determinar por qué no se muestran para mí.

Muchas gracias de antemano.

+0

¿De qué ventana estás hablando? "Ventana de depuración" sugiere la ventana de salida de depuración (por ejemplo, donde aparece la salida OutputDebugString), pero de la descripción parece que podría estar hablando de las ventanas Watch, Auto y Locals. –

+0

Lo siento si el título de la pregunta era confuso. En la primera frase dije, "variable en las ventanas de depuración Local, Auto o Watch". – Derek

Respuesta

3

Ésta parece ser algún tipo de difíciles de reproducir error (que no estoy viendo en 2k8 tampoco) de acuerdo con this old link:

Si quisiéramos hacer esto correctamente tendríamos que emite las secuencias de escape adecuadas para estos personajes. por ejemplo, mostrar "\ r \ n" en la cadena. El comportamiento de pelar caracteres especiales históricos y se corregirá en una versión futura. Si está viendo texto con líneas nuevas en él, puede ver la cadena como una matriz de caracteres: escriba "str, 100" para ver una cadena de longitud 100 como una matriz. O puede hacer clic en el glifo de la lupa y ver la cadena en un control de edición multilínea.

Un mes más tarde:

No podemos reproducir este problema en VS2003 ni tampoco VS2005. Esto parece un problema específico de la máquina.

Entonces, si sus compañeros de trabajo realmente lo están viendo, debe haber algo extraño en nuestras configuraciones.

+0

Buen hallazgo. Otro pensamiento que se me ocurrió fue mi versión del sistema operativo. Soy el único que ejecuta Vista x64 (tanto en el trabajo como en casa, y ambos tienen el mismo problema) mientras que todos los demás ejecutan XP o Vista de 32 bits. Sin embargo, ese informe de error parece que fue enviado por alguien que ejecuta XP. – Derek

+0

Esto podría ser un error de 64 bits (aunque VS en sí mismo es solo 32). En casa ejecuto VS2k8 en Windows 7 x64 y no veo nada, pero en el trabajo tengo VS2k5 en XP x32 y _do_ veo los cuadrados en lugar de \ r \ n. –

+0

Uso VS 2005 en XP 64 y no veo nada para \ r o \ n, por lo que es probable que sea un problema de 64 bits. Aunque es extraño, VS es de 32 bits y solo estoy trabajando con código de 32 bits. – RichieHindle

0

¿Podría ser la fuente que está utilizando? ¿Están todos usando la misma fuente (preferiblemente predeterminada)?

He tenido varios problemas molestos con personas que hacen eso. No estoy seguro si ese es su problema, pero es algo que debe verificar.

+0

Para la configuración "[Ver, locales y herramientas de Windows Autos]" en Herramientas-> Opciones-> Entorno-> Fuentes y colores, estoy usando la fuente Tahoma. Creo que esa es la configuración predeterminada, y mis compañeros de trabajo también están usando esta fuente. – Derek

0

En respuesta a la pregunta de SQL Server he encontrado, al menos en 2008, que si obtiene las 200 filas para editar mostrará los cuadrados \ r \ n, si obtiene las 1000 filas por solo leer, lo hará no.

Cuestiones relacionadas