Domanda

Da qualche tempo quando eseguo il debug di applicazioni Visual C ++ e visualizzo qualsiasi variabile CString o char * (o qualsiasi altro tipo basato su caratteri ascii) nelle finestre di debug Local, Auto o Watch, i caratteri CR / LF nelle mie variabili non vengono visualizzati affatto.

In altre parole, se ho una variabile stringa impostata su " Questa è una linea \ r \ nQuesta è un'altra linea " nel mio codice, la finestra di debug mostrerà "Questa è una linea Questa è un'altra linea". Quello che mi piacerebbe mostrare è "Questa è una riga ?? Questa è un'altra riga" in modo che io possa vedere i due caratteri extra in quel testo.

Questo mi ha fatto fare degli errori quando provavo a eseguire il debug del codice di analisi delle stringhe. Nota, il visualizzatore di testo suddivide correttamente il testo in righe separate, ma non voglio usare il visualizzatore di testo se non è necessario. Inoltre, alcuni miei colleghi sono in grado di vedere i personaggi CR / LF nel modo corretto, ma non possiamo determinare perché non vengano mostrati per me.

Molte grazie in anticipo.

È stato utile?

Soluzione

Questo sembra essere una specie di bug difficile da riprodurre (non li vedo neanche in 2k8) secondo questo vecchio link :

  

Se volessimo farlo correttamente, avremmo bisogno di emettere le sequenze di escape appropriate per questi personaggi. es. mostra " \ r \ n " nella stringa. Il comportamento di stripping di personaggi speciali è storico e verrà risolto in una versione futura. Se stai visualizzando del testo con nuove righe, puoi visualizzare la stringa come un array di caratteri: digita " str, 100 " per visualizzare una stringa di lunghezza 100 come un array. Oppure puoi fare clic sul glifo della lente di ingrandimento e visualizzare la stringa in un controllo di modifica su più righe.

Un mese dopo:

  

Non possiamo riprodurre questo problema né su VS2003 né su VS2005. Sembra un problema specifico della macchina.

Quindi, se i tuoi colleghi lo vedono davvero, ci deve essere qualcosa di strano nelle nostre configurazioni.

Altri suggerimenti

Potrebbe essere il carattere che stai usando? stai usando tutti lo stesso carattere (preferibilmente predefinito)?

Ho avuto una serie di fastidiosi problemi con le persone che lo facevano. Non sono sicuro se questo è il tuo problema, ma è qualcosa da controllare.

In risposta alla domanda di SQL Server ho scoperto, almeno nel 2008, che se ottieni le 200 righe per la modifica mostrerà i quadrati \ r \ n, se ottieni le 1000 righe per sola lettura non lo farà .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top