1
私はdbxでIBM AIXでデバッグしていました。私は、次のことを見ていた。次のアセンブリ実行結果につながる可能性があります
(dbx) print $r4
0x00000001614aa050
(dbx) print *((int64*)0x00000001614aa050)
-1
(dbx) print $r3
0x0000000165e08468
Then I "stepi" my 64bit program which executed the following instruction:
std r3,0x0(r4)
私はその後すぐにそのメモリの内容を確認:
(dbx) print *((int64*)0x00000001614aa050)
-1
それでも-1?私は$ r3の内容がメモリ に保存されるはずです。
(dbx) print &bmc._pLong
0x00000001614aa050
(dbx) assign bmc._pLong=(int64 *)0x0000000165e08468
(dbx) print *((int64*)0x00000001614aa050)
6004180072 (which is 0x0000000165e08468)
どのようにそれが起こる可能性:私は、手動で私の 変数を使用して、そのアドレスに値を割り当て?