답변:
info variables
"모든 전역 및 정적 변수 이름"을 나열하려면 입력 하십시오.
info locals
해당 함수의 정적 변수를 포함하여 "현재 스택 프레임의 로컬 변수"(이름 및 값)를 나열하려면 입력 하십시오.
info args
"현재 스택 프레임의 인수"(이름 및 값)를 나열하려면 입력 하십시오.
y
이름이 y.1913
컴파일시 이름이 바뀝니다 .
y
함수 foo
와 다른 y
의를 bar
. 구별하기 위해 두 이름에 다른 이름을 지정해야합니다 y
.
select-frame
전에 호출 함수 사용의 로컬 변수를보고 싶다면info locals
예 :
(gdb) bt
#0 0xfec3c0b5 in _lwp_kill () from /lib/libc.so.1
#1 0xfec36f39 in thr_kill () from /lib/libc.so.1
#2 0xfebe3603 in raise () from /lib/libc.so.1
#3 0xfebc2961 in abort () from /lib/libc.so.1
#4 0xfebc2bef in _assert_c99 () from /lib/libc.so.1
#5 0x08053260 in main (argc=1, argv=0x8047958) at ber.c:480
(gdb) info locals
No symbol table info available.
(gdb) select-frame 5
(gdb) info locals
i = 28
(gdb)
select-frame
약칭 할 수도 있습니다 sel
. 또는 frame
/를 사용 f
하여 프레임을 인쇄 할 수도 있습니다)
또한 info locals
현재 함수에 대한 인수를 표시하지 않으므로
(gdb) info args
예를 들면 다음과 같습니다.
int main(int argc, char *argv[]) {
argc = 6*7; //Break here.
return 0;
}
argc
과 argv
가 표시되지 않습니다 info locals
. 메시지는 "No locals"입니다.
참조 : 정보 지역 주민이 명령 .
info variables
해당 컴파일 단위 내의 정적 변수 여야합니다.