Perintah info args
Menampilkan informasi tentang argumen fungsi yang sesuai dengan frame stack saat ini.
Sintaks
Catatan
Perintah info args menampilkan nilai-nilai argumen fungsi dari frame saat ini. Anda dapat memilih frame menggunakan perintah frame, up, dan down.
Catatan bahwa perintah info args tidak menampilkan informasi tentang variabel lokal. Gunakan perintah info locals untuk daftar variabel lokal.
Jangan bingungkan info args dengan perintah set args. Perintah set args mengatur argumen baris perintah untuk program yang sedang di-debug, sedangkan info args menampilkan argumen untuk fungsi saat ini. Argumen yang diberikan melalui set args akan tersedia melalui argv di fungsi main().
Contoh
Untuk mendemonstrasikan penggunaan perintah info args, kita akan debug program contoh berikut:
#include <stdio.h>
void func(int arg)
{
printf("func(%d)\n", arg);
}
int main(int argc, char *argv[])
{
int localVar1 = 1, localVar2 = 2;
func(localVar1 + localVar2);
return 0;
}
Kita akan menjalankan program, mengatur breakpoint di func(), dan menggunakan perintah info args untuk menampilkan nilai argumen:
(gdb) set args Hello
(gdb) b func
Breakpoint 1 at 0x80483ea: file test.cpp, line 5.
(gdb) run
Starting program: /home/testuser/test Hello
Breakpoint 1, func (arg=3) at test.cpp:5
5 printf("func(%d)\n", arg);
(gdb) info args
arg = 3
(gdb) backtrace
#0 func (arg=3) at test.cpp:5
#1 0x0804842a in main (argc=2, argv=0xbffff774) at test.cpp:11
(gdb) up
#1 0x0804842a in main (argc=2, argv=0xbffff774) at test.cpp:11
11 func(localVar1 + localVar2);
(gdb) info args
argc = 2
argv = 0xbffff774
(gdb) print *argv@argc
$1 = {0xbffff89d "/home/testuser/test", 0xbffff8b1 "Hello"}
(gdb)