2008-09-19 8 views

Respuesta

3

Para cadenas de caracteres grandes, está prácticamente atorado con la ventana de memoria: la información sobre herramientas se truncaría eventualmente.

Afortunadamente, la ventana de memoria es fácil de obtener datos - Tiendo a mostrarla en trozos de 8 bytes para que sea fácil de administrar, encuentre sus datos de cadena y corte & pegue el lote en una ventana en blanco, luego use alt + arrastre para seleccionar columnas y eliminar los valores hexadecimales. Luego comience en la parte inferior de la cadena y continúe paginando/borrando (la nueva línea) para construir su cadena (utilizo una macro para ese bit).

No creo que haya una mejor manera una vez que tengas cadenas largas.

+0

Este es el método que ahora uso, pero agregaría una advertencia para los demás: cuando pegue como texto y edite, debe considerar la posibilidad de null incrustados que truncan la cadena pero se convierten en caracteres no imprimibles. Estos, combinados con 'basura' en la memoria pueden hacer que una cadena parezca más larga de lo que realmente es. –

1

empuje viene empujar se puede poner en el reloj

dado

char bigArray[1000]; 

reloj:

&bigArray[0] 
&bigArray[100] 
&bigArray[200] 
... 

o cambiar el índice de donde en la cadena que desea buscar ..

Es torpe, pero funcionó para mí en el pasado.

1

Ya no tengo VC6, así que no puedo probarlo. No sé si funciona, pero tal vez puede ingresar

(char*)textArray; 

en la ventana del reloj.

La solución mejor tal vez: VS2008 muestra automáticamente el texto de la forma que desee. Y hay una Edición Express para VS2008 libre de cambios, que, hasta donde yo sé, se puede usar para desarrollar aplicaciones comerciales. Incluso puede intentar continuar desarrollando con VC6, y usar VS2008 solo para la depuración. Con VS2003 fue posible. Hace aproximadamente 5 años tuve que mantener una aplicación que se desarrolló con VC6. Seguí usando VC6 para desarrollar, pero para la depuración usé VS2003.

+0

El molde no funcionará, ya que el problema es que VC6 trunca las cadenas en la ventana del reloj. p.ej. su publicación se mostraría como "No tengo ..." sin posibilidad de obtener el resto de la cadena antes de abrir la ventana de memoria. La idea expresa del VC2008 debería funcionar. – Eclipse

0

Tal vez, acostúmbrese a crear archivos de registro, y escriba salida en el archivo directamente, luego aparezca en su editor de texto favorito.

1

La única técnica que he visto es de ver la cadena entonces la cadena +50, +100 etc.

Eugene Ivakhiv escribió un addin para msvc 6 que le permite mostrar la cadena completa en un cuadro de edición.

1

Hay un lindo complemento para VC6 llamado XDebug. Agrega un diálogo para ver diferentes tipos de cadenas. Funciono muy bien para mi.

+0

¡Acabo de instalar esto y funciona maravillosamente! En Windows 7 (y probablemente otros sistemas operativos más nuevos) hubo una complicación al usar las instrucciones de instalación incluidas con el complemento. Debe ejecutar cmd con derechos de administrador y usar el comando 'regsvr32 \ path \ XDebug.dll'. Luego sigue las instrucciones de instalación. Si no hace esto primero, el complemento no puede registrarse. He editado la respuesta con un enlace directo en lugar de un enlace a un blog difícil de leer. – Chro

Cuestiones relacionadas