2009-05-07 1 views
5

Visual C++ 응용 프로그램을 디버깅하고 CString 또는 char * (또는 다른 ascii char 기반 형식) 변수를 Local, Auto, 또는 감시 디버그 창, 내 변수의 CR/LF 문자가 전혀 표시되지 않습니다.Visual Studio 2008에서 CR/LF를 표시하는 Visual C++ 디버그 창

즉, 문자열 변수가 "This is a line \ r \ n 내 코드에서 다른 줄"로 설정하면 디버그 창에 "This is a line is this is another line"이 표시됩니다. 이 텍스트에서 두 개의 추가 문자를 볼 수 있도록 "This is a line □□ This is another line"입니다.

이로 인해 문자열 분석 코드를 디버깅 할 때 실수를 저질 렀습니다. 참고로, 텍스트 시각화 프로그램은 텍스트를 별도의 줄로 적절하게 나누지 만 필자는 텍스트 비주얼 라이저를 사용하고 싶지 않습니다. 또한 일부 동료들은 올바른 방식으로 CR/LF 문자를 볼 수 있지만 왜 나를 위해 표시되지 않는지를 판단 할 수는 없습니다.

미리 감사드립니다.

+0

어떤 창에 대해 이야기하고 있습니까? '디버그 창'은 디버그 출력 창 (예 : OutputDebugString 출력이 표시되는 곳)을 제안하지만 설명을 통해보기, 자동 및 지역 창에 대해 이야기하는 것처럼 들릴 수 있습니다. –

+0

문제의 제목이 혼란 스럽다면 죄송합니다. 첫 번째 문장에서 "로컬, 자동 또는 감시 디버그 창에서 변수"라고 말했습니다. – Derek

답변

3

이것은 어떤 종류의 것으로 보인다 어려운 재현 this old link에 따라 (나도 2K8에서 그들을 보이지 않아요) 버그 :

우리가이 일을하고자한다면 제대로 우리가 필요한 것 이러한 문자에 대해 적절한 이스케이프 시퀀스를 발행하십시오. 예를 들어 문자열에 "\ r \ n"을 표시하십시오. 특수 문자를 제거하는 동작은 역사적이며 향후 릴리스에서 수정 될 예정입니다. 개행 문자가있는 텍스트를 보는 경우 문자열을 문자 배열로 볼 수 있습니다. 길이가 100 인 문자열을 배열로 보려면 "str, 100"을 입력하십시오. 또는 돋보기 모양을 클릭하고 여러 줄 편집 컨트롤에서 문자열을 볼 수 있습니다. 나중에

달 : 우리는 어느 VS2003도 VS2005에서이 문제를 재현 할 수없는

. 이것은 기계 고유의 문제처럼 보입니다.

그래서 동료가 실제로보고 있으면 설정에서 이상한 일이 일어나야합니다.

+0

좋은 찾으십시오. 나에게 일어난 또 하나의 생각은 나의 OS 버전이었다. 저는 다른 사람들이 32 비트 XP 또는 Vista를 실행하는 동안 Vista x64를 실행하는 유일한 사람입니다 (둘 다 직장에서나 집에서 모두 동일한 문제가 있음). XP를 실행하는 누군가가 제출 한 것처럼 버그 보고서는 보입니다. – Derek

+0

이것은 64 비트 버그 일 수 있습니다 (VS 자체는 32 임에도 불구하고). 집에서 나는 Windows 7 x64에서 VS2k8을 실행하고 아무 것도 보이지 않지만 직장에서 나는 XP x32에 VS2k5를 가지고 있고 _do_는 \ r \ n 대신에 사각형을 볼 수 있습니다. –

+0

저는 VS2005를 XP64에서 사용하고 \ r 또는 \ n에 대해 아무 것도 볼 수 없으므로 64 비트 문제가 될 가능성이 있습니다. 이상하게도 - VS 자체는 32 비트이고 32 비트 코드로만 작업하고 있습니다. – RichieHindle

0

사용중인 글꼴 일 수 있습니까? 모두 같은 글꼴 (선호하는 기본 글꼴)을 사용하고 있습니까?

저는 사람들이 그렇게 많은 성가신 문제를 제기했습니다. 그게 당신의 문제인지는 모르지만 확인해야 할 것이 있습니다.

+0

도구 -> 옵션 -> 환경 -> 글꼴 및 색상에서 "[Watch, Locals 및 Autos Tool Windows]"설정에 대해 Tahoma 글꼴을 사용하고 있습니다. 나는 이것이 기본 설정이라고 생각하며 동료들도이 글꼴을 사용하고 있습니다. – Derek

0

SQL Server 질문에 대한 응답으로, 2008 년에 적어도 200 행을 편집하면 \ r \ n 스퀘어가 표시되고 읽기 전용으로 1000 행을 얻으면 아니.