2014-01-16 1 views
2

주기적으로 확인하고 싶은 여러 변수가있는 긴 프로그램이 있습니다. 오히려 등등gdb에서 동일한 것을 repitiously 재 입력하는 것을 피할 수 있습니까?

print var1 
print var2 
print var2 

및 입력보다, 호 내가 하나의 인쇄 에서 여러 변수에 대한 출력을 얻을 수 있습니다 (I는 print var1, var2, var3을 시도하지만, 작동하지 않았다.)

또는

어떻게

을 내가 사용할 수있는 각각의 인쇄물을 반복적으로 타이핑하는 것과 같은 일을하는 자체 함수를 작성할 수 있습니까?

더 쉬운 방법이 있습니까?

답변

3

당신은 당신이 print에 대한 속기로 p를 사용할 수

print (var1, var2, ...) 

덧붙여 충분히 가까이했다 :

p (var1, var2, ...) 

당신은 단순히 변경하는 변수를 모니터링 할 경우에, 당신은 필요 시계 :

watch var1 
watch var2 

이렇게하면 var1 등의 값이 변경 될 때마다 GDB는 사용자에게 알리고 이전 값과 새 값을 인쇄합니다.

0

여러 가지 방법이 있지만 찾고있는 것은 아마도 display command입니다.

해야 할 것 : 평소와 디버거가 중지 될 때마다 값이 인쇄됩니다 같은

display var1 
display var2 
display var3 

그럼 그냥 디버그.

많은 세션에서이 작업을 수행해야하는 경우 스크립트에 명령을 쓸 수 있으며 소스 gdb에이 명령을 쓸 수 있습니다.

+0

디스플레이가 저에게 보이는 것처럼 보입니다. 하지만 인쇄 할 때 p로 입력 할 수 있습니다. 여기서 d는 내가 원하는 것이 아닌 중단 점을 삭제할 것을 제안합니다. 디스플레이와 인쇄간에 차이가 있습니까? – j0h

+0

예, 디버거가 일시 중지 될 때마다 (한 번 인쇄가 아니라) 디스플레이에 변수 값이 표시됩니다. – dbrank0

관련 문제