GDB를 사용하여 매개 변수가 아닌 함수에 들어가는 방법

Dec 14 2020

아시다시피 GDB에서 step(s)명령을 사용하면 함수에 들어갈 수 있습니다. 그러나 s먼저 함수의 매개 변수를 조사하고 한 단계 씩 살펴보십시오. 예를 들어 다음 함수의 경우 :

foo(bar(1));

에 스테핑 foo으로 단계 bar다음에 foo. 매개 변수 수가 점점 더 많아 지 자마자 매개 변수를 입력하는 것은 성가신 일이됩니다. fooGDB를 사용하여 직접 실행으로 들어가서 매개 변수로 들어가는 것을 건너 뛸 수 있습니까?

중단 점을 설정할 수 있다는 것을 알고 있습니다. foo:) 다른 솔루션을 찾고 있습니다.

답변

KamilCuk Dec 14 2020 at 19:30

복잡한 호출을 처리 할 때 :

printf("%d %d\n", function(), next_function());

나는 step그 라인으로 "이동" 한 다음 한 걸음 si들어갑니다. 호출 된 첫 번째 함수로 한 단계 씩 이동합니다. 그런 다음 finish나가서 si다음 기능으로 다시 들어갈 수 있습니다 .