これは、変数のC同時に2つの異なるフォーマット(10進数と16進数)でメモリアドレスを調べますか?
&(gdb) info locals
a = 9
b = 10
c = 11
(gdb)
メモリアドレスB、C
&(gdb) print &a
$1 = (int *) 0x22ff4c
(gdb) print &b
$2 = (int *) 0x22ff48
(gdb) print &c
$3 = (int *) 0x22ff44
(gdb)
Bのメモリアドレス値を調べ、変数の値私のCコード
C:\Codes>gdb var -q
Reading symbols from C:\Codes\var.exe...done.
(gdb) list
1 #include<stdio.h>
2
3 int main()
4 {
5 int a = 9;
6 int b = 10;
7 int c = 11;
8 return 0;
9 }
(gdb)
です変数a、bの16進数& c
(gdb) x 0x22ff4c
0x22ff4c: 0x09
(gdb)
(gdb) x 0x22ff48
0x22ff48: 0x0a
(gdb)
(gdb) x 0x22ff44
0x22ff44: 0x0b
(gdb)
& C疑問がある
(gdb) x/d 0x22ff4c
0x22ff4c: 9
(gdb) x/d 0x22ff48
0x22ff48: 10
(gdb) x/d0x22ff44
0x22ff44: 11
(gdb)
B、変数のための小数のメモリアドレス値を調べます。メモリアドレスの値を16進数で印刷することは可能ですか?& 10進数はシングルコマンドで印刷できますか?
このような出力が得られると非常に役に立ちます。
Address Variable Dec Hex
0x22ff4c a 9 0x09
0x22ff48 b 10 0x0a
0x22ff44 c 11 0x0b
[独自のロールあえて?](https://www.google.com/search?q=how+to+write+gdb+extensions) – alk