Perintah set print address
Menentukan apakah GDB akan mencetak alamat saat mengevaluasi pointer.
Sintaksis
set print address on
set print address off
show print address
set print address off
show print address
Mode
- on
- Saat mencetak nilai dari pointer, GDB akan mencetak alamat mentah bersama dengan informasi lainnya (contoh: $1 = 0xbffff232 "Hello, World").
- off
- Saat mencetak nilai dari pointer, GDB akan menyembunyikan alamat mentah dari output (contoh: $1 = "Hello, World").
Mode Default
Nilai default untuk pengaturan print address adalah 'on'.
Catatan
Perhatikan bahwa jika pencetakan alamat dinonaktifkan, nilai-nilai pointer tidak akan ditampilkan bahkan jika nilai pointer adalah bagian yang bermakna dari output. Oleh karena itu, mengevaluasi banyak jenis pointer (misalnya int *) akan menghasilkan hasil yang tidak bermakna (contoh: $1 = (int *) ).
Contoh
Berikut adalah log sesi GDB contoh yang mengilustrasikan bagaimana perintah set print address mempengaruhi output dari perintah print:
(gdb) start
Breakpoint 1 at 0x80483f0: file test.cpp, line 5.
Starting program: /home/bazis/test
Breakpoint 1, main (argc=1, argv=0xbffff064) at test.cpp:5
5 return 0;
(gdb) print argc
$1 = 1
(gdb) print argv
$2 = (char **) 0xbffff064
(gdb) print argv[0]
$3 = 0xbffff232 "/home/bazis/test"
(gdb) print &argc
$4 = (int *) 0xbfffefd0
(gdb) show print address
Pencetakan alamat sedang aktif.
(gdb) set print address off
(gdb) print argc
$5 = 1
(gdb) print argv
$6 = (char **)
(gdb) print argv[0]
$7 = "/home/bazis/test"
(gdb) print &argc
$8 = (int *)