Perintah undisplay

Menghapus ekspresi yang ditampilkan secara otomatis sebelumnya yang disetel dengan perintah display.

Sintaks

udisplay [Nomor ekspresi]
undisplay

Parameter

Nomor ekspresi
Menentukan nomor ekspresi (seperti yang dilaporkan oleh perintah display) yang harus dihapus. Jika tidak ada nomor ekspresi yang spesifik, perintah undisplay akan menghapus semua ekspresi yang ditampilkan secara otomatis.

Contoh

Kami akan menunjukkan penggunaan perintah undisplay menggunakan program sederhana yang menampilkan argumennya dalam sebuah loop:

#include int main(int argc, char **argv) { for (int i = 0; i < argc; i++) printf("Arg %d: %s\n", i, argv[i]); return 0; }

Kami akan menggunakan perintah display untuk membiarkan GDB menampilkan nilai penghitung loop dan argumen yang ditampilkan saat setiap langkah, kemudian menggunakan perintah undisplay untuk menghapus beberapa ekspresi tersebut:

(gdb) set args arg1 arg2 arg3 (gdb) start Breakpoint sementara 1 di 0x8048426: file test.cpp, line 5. Starting program: /home/bazis/test arg1 arg2 arg3 Breakpoint sementara 1, main (argc=4, argv=0xbffff024) at test.cpp:5 5 for(int i = 0; i < argc; i++) (gdb) next 6 printf("Arg %d: %s\n", i, argv[i]); (gdb) display/x i 1: /x i = 0x0 (gdb) display argv[i] 2: argv[i] = 0xbffff204 "/home/bazis/test" (gdb) next Arg 0: /home/bazis/test 5 for(int i = 0; i < argc; i++) 2: argv[i] = 0xbffff204 "/home/bazis/test" 1: /x i = 0x0 (gdb) next 6 printf("Arg %d: %s\n", i, argv[i]); 2: argv[i] = 0xbffff215 "arg1" 1: /x i = 0x1 (gdb) display 2: argv[i] = 0xbffff215 "arg1" 1: /x i = 0x1 (gdb) undisplay 1 (gdb) next Arg 1: arg1 5 for(int i = 0; i < argc; i++) 2: argv[i] = 0xbffff215 "arg1" (gdb) undisplay Delete all auto-display expressions? (y or n) y (gdb) next Arg 2: arg2 5 for(int i = 0; i < argc; i++) (gdb) next 6 printf("Arg %d: %s\n", i, argv[i]); (gdb) print i $1 = 3