VC6 ウォッチ ウィンドウで char[] 変数の完全な値を取得したいのですが、切り捨てられたバージョンしか表示されません。デバッグ メモリ ウィンドウから値をコピーできますが、16 進値と文字列値の混合行が含まれています。確かに良い方法がありますか??
6 に答える
大きな文字列の場合、メモリ ウィンドウにほとんどこだわっています。ツールチップは最終的に切り捨てられます。
幸いなことに、メモリ ウィンドウは簡単にデータを取得できます。管理しやすいように 8 バイトのチャンクで表示する傾向があります。文字列データを見つけて、その多くを空白のウィンドウにカット アンド ペーストし、alt + ドラッグを使用して列を選択し、 16 進値を削除します。次に、文字列の一番下から開始し、継続的にページアップ/削除 (改行) して文字列を作成します (そのビットにはマクロを使用します)。
長い文字列を取得したら、これ以上の方法はないと思います。
私が見た唯一のテクニックは、文字列を監視してから、文字列+ 50、+100などを監視することです。
Eugene Ivakhivは、編集ボックスに文字列全体を表示できるmsvc6のアドインを作成しました。
私はVC6をもう持っていないので、試すことができません。うまくいくかどうかはわかりませんが、入ることはできるかもしれません
(char*)textArray;
ウォッチウィンドウで。
おそらくより良い解決策:VS2008はテキストを希望どおりに自動的に表示します。また、変更のない VS2008 の Express Edition もあり、私の知る限り、商用アプリケーションの開発に使用できます。VC6 で開発を続け、VS2008 をデバッグのみに使用することもできます。VS2003では可能でした。約 5 年前、私は VC6 で開発されたアプリを維持しなければなりませんでした。開発には VC6 を使い続けましたが、デバッグには VS2003 を使用しました。
XDebugと呼ばれる VC6 用のかわいいプラグインがあります。さまざまな種類の文字列を表示するためのダイアログを追加します。それは私にとってうまくいきました。
時計に入れることができます。
与えられた
char bigArray[1000];
見る:
&bigArray[0]
&bigArray[100]
&bigArray[200]
...
または、検索したい文字列の場所のインデックスを変更します...
不格好ですが、過去に私のために働いていました。
おそらく、ログファイルの作成に慣れて、出力をファイルに直接書き込んでから、お気に入りのテキスト エディターで表示してみてください。