2013-01-08 14 views
6

私は変数buffPtrを持っています:TPointer サイズは16で、一連の番号が入っていて、主に0から始まり、013854351387365のようなものがあります。 アプリケーションが何をしているのか分かります大丈夫ですか?Delphiでデバッグ中にポインタの値を視覚化するには?

デバッグ中にこの値を見たいと思っています。

「PAnsiChar(buffPtr)^」を時計に追加すると、最初のバイトのみが表示されます。

+1

PAnsiChar(BufPtr)を入れようとしましたか? – jachguate

答えて

8

私は

繰り返し回数= 16 進

enter image description here

+0

私は質問や答えを理解していません。あなたは詳しく説明できますか? –

+0

ダイアログの入力だけでなく、この設定から*出力*の画像を追加した方がいいでしょう。 –

3

としてウォッチのプロパティで^ PAnsiChar(buffPtr)に

をウォッチを追加しましたあなたは、時計を設定しましたダンプを行います記憶の領域?役立ついくつかの構造については。

type 
    T16Values = array[0..15] of Byte; 
    P16Values = ^T16Values; 

が続い P16Valuesにあなたのポインタをキャストし、それを表示します。アプリケーションを再コンパイルすることができる場合

、これを定義します。

Byte以外のデータタイプの場合は、それに応じて上記のコードを変更してください。

+0

IMHOデバッガはカスタムの繰り返しを直接処理するので、これは必要ありません。 –

+0

デバッガの設定を保存するときに.DSK全体を保存する必要があるため、コード時にこれを行う方が便利な場合があります。 –

+1

...または式に16を追加するだけです。設定を変更する必要はありません。 ;) –

9

序数/バイト値が必要な場合は、時計式PAnsiChar(buffPtr)^,16またはPByte(buffPtr)^,16を入力するだけです。

ここでは、パターンリピートの数をコンマの後に追加するとします(,16など)。

これは、時計のプロパティを変更するよりも便利です。これはIDEのF7評価コマンドで動作します。

+0

+1;きちんとしたトリック。 –

関連する問題