バッファーの一部分を覗くには?

[戻る]
SA 2004/01/21(水) 12:03:32
例えば、
int A[10000];
というように一万バイトのエリアがあるとして、
200バイト目かた500バイト目までの領域を
ウォッチで覗きたいのですが、
エリアはどう指定したら、いいでしょうか?

シャノン 2004/01/21(水) 12:26:06
>int A[10000];
>というように一万バイトのエリアがあるとして、
これが一万バイトですか?
int はひとつ(大半の環境では)4バイトですよ。

>200バイト目かた500バイト目までの領域を
A[200] 〜 A[500] ?それとも、あくまでも200バイト目?
↑正しくは A[199] なんでしょうけど

>ウォッチで覗きたいのですが、
ウォッチってのはVC++のデバッグ中の話でしょうか?
そう都合よく一部分だけってのは不可能だと思いますけどね。
ウォッチのところに A[200]、A[201]…A[500] って根気良く手入力ならば可能ですが…
激しく面倒でしょうな。

... 2004/01/21(水) 12:57:02
ウォッチウィンドウでの表示の仕方はわかりませんが
ウォッチウィンドウで &a[200]のアドレスを取得して
メモリウィンドウ(alt + 6)でアドレスを指定してあげれば
それなりに見られるかも。

#16進表示だしリトルエンディアンなのでint型だと見にくいかも
#しれません。(用途次第ですね)

ku 2004/01/21(水) 13:08:10
配列のまま見る方法は知らないけど
int A[10000];
int* pB = &A[200];

とした場合、ウォッチウィンドウに
pB,300
とやれば、ほぼSAが希望することができるんじゃないかな

pBの値はデバッグ中に&A[100]のような指定で、動的に値を変更することもできます

dairygoods 2004/01/21(水) 13:33:25
ウォッチに (&A[200]),300 と入力

シャノン 2004/01/21(水) 23:28:42
そんな指定がデキタンデスカ…。
デマ吹いてゴメンナサイ。

... 2004/01/22(木) 00:01:41
勉強になりました。

で調べてみました。
http://www.microsoft.com/JAPAN/developer/library/vcug/_asug_symbols_for_watch_va
riables.htm

x,u,d位しか知りませんでした。。
ありがとうございます。

古いスレッドには追加発言できません。