2011-11-25 8 views
1

Xcode의 디버거를 사용하고 있습니다. 중단 점에서 멈추는 동안 GDB 명령 프롬프트에 로컬 변수를 만들 수있는 명령이 있습니까? 그렇다면 어떻게? 예제를 제공해주십시오.GDB : 로컬 변수를 만드시겠습니까?

코드에서이를 수행 한 다음 프로그램을 다시 컴파일 할 수 있다는 것을 알고 있지만 더 빠른 방법을 찾고 있습니다.

+0

요점은 무엇입니까? – Neil

+0

IRB (Interactive Ruby Shell)에서 할 수있는 것처럼 어지럽 힙니다. – ma11hew28

+0

죄송합니다. 귀하의 질문은 명확하지 않습니다. 나는 Neil의 대답을보고 나서야 주목했다. 사실 "로컬 변수"를 도입하기 위해 코드를 다시 컴파일하는 옵션을 알고 있다고 언급 했으므로 스택 변수를 사용한다고 가정했습니다. Neil이 GDB 편리한 변수를 의미한다고 가정하여 문제를 바로 잡았습니까? – 0xC0000022L

답변

1

로컬 변수에 스택 공간이 필요하고 (컴파일 된) 코드가 스택 레이아웃에 연결되어 있으므로 아니요 수 없습니다.

스크립팅 언어와 비교하는 것은 적절하지 않습니다.

1

print 명령으로 인쇄 된 값은 GDB "값 기록"에 저장됩니다. 이렇게하면 다른 표현식에서 참조 할 수 있습니다.

예를 들어, 구조체에 대한 포인터를 인쇄하고 구조체의 내용을보고 싶다고 가정합니다. 입력하기에 충분합니다.

p *$ 
+0

흠, 혼란 스럽네요. 뒤늦은 생각으로 그의 질문은 분명하지 않습니다. 그는 로컬 스택 변수 (내 가정) 또는 GDB 편리한 변수 (가정)를 의미합니까? 질문에 댓글을 달아주세요. – 0xC0000022L

관련 문제