2009-05-07 11 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"と表示されます。私が見せたいのは、 "これは行です。これは別の行です"ということで、その中の2文字を見ることができます。

これは、文字列解析コードをデバッグしようとすると、いくつかの間違いを引き起こしています。注:テキストビジュアライザは、テキストを別々の行に正しく分割しますが、必要がない場合はテキストビジュアライザを使用したくありません。さらに、仲間の中には、CR/LF文字を正しい方法で見ることができますが、なぜ彼らが私のために表示されないのかを判断することはできません。

事前に感謝します。

+0

どのウィンドウについて話していますか? 「デバッグウィンドウ」は、デバッグ出力ウィンドウ(OutputDebugString出力が表示される場所など)を示しますが、説明から、ウォッチウィンドウ、自動ウィンドウ、およびローカルウィンドウについて話しているようです。 –

+0

申し訳ありませんが、質問のタイトルが混乱していた場合。最初の文章では、「ローカル、自動、また​​はウォッチデバッグウィンドウの変数」と答えました。 – Derek

答えて

3

これはthis old linkに応じて難再現するバグ(私はどちらか2K8でそれらを見ていないよ)のいくつかの並べ替えのようだ:我々はこれをやってみたかった場合は適切に我々がする必要があると思います

これらの文字に対して適切なエスケープシーケンスを発行します。例えば、文字列に "\ r \ n"を表示します。特殊文字を削除する動作は歴史的であり、将来のリリースで修正される予定です。改行を含むテキストを表示している場合は、文字列を文字配列として表示するか、長さ100の文字列を配列として表示するには "str、100"と入力します。または、虫めがねのグリフをクリックし、複数行編集コントロールで文字列を表示することもできます。後で

月:私たちはどちらもVS2003やVS2005でこの問題を再現することはできません

。これはマシン固有の問題のようです。

あなたの同僚が本当にそれを見ているなら、私たちの設定で何か変わっているはずです。

+0

ニースが見つかりました。私に起こったもう一つの考えは私のOSバージョンでした。私はここでVista x64を実行している唯一の人です(職場でも家庭でもどちらも同じ問題があります)。他の人は32ビットXPまたはVistaを実行しています。しかし、そのバグレポートは、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

[ツール] - > [オプション] - > [環境] - > [フォントと色]の[ウォッチ、ローカル、およびオートツールのツール]の設定については、Tahomaフォントを使用しています。私はそれがデフォルト設定だと思うし、私の同僚もこのフォントを使用しています。 – Derek

0

2008年に少なくとも私はSQL Serverに関する質問に答えて、少なくとも200行を編集すると\ r \ n四角形が表示され、1000行が読み込み専用になるとない。

関連する問題