소스 코드를 수정하지 않고도 어떤 함수 (예 : func100)가 호출 될 때 어떤 함수가 호출되고 어떤 매개 변수를 추적 할 수 있습니까? 출력을 다음과 같이하고 싶습니다.C에서 함수 호출을 추적하는 방법?
enter func100(p1001=xxx,p1002=xxx)
enter func110(p1101=xxx,p1102=xxx)
exit func110(p1101=xxx,p1102=xxx)
enter func120(p1201=xxx,p1202=xxx,p1203=xxx)
enter func121(p1211=xxx)
exit func121(p1211=xxx)
exit func120(p1201=xxx,p1202=xxx,p1203=xxx)
exit func100(p1001=xxx,p1002=xxx)
이 것이 가능합니까? 또는 소스 코드를 최소한으로 수정 한 솔루션은 무엇입니까?
디버거를 사용하십시오. 또는 fprintf 로깅을 파일에 호출 할 수 있습니다. 그러나 마지막 옵션은 소스 코드를 수정하고 싶지 않으므로 좋지 않을 수 있습니다. – Lefteris
아마도 콜 그래프를 가져 오는 프로파일 러일까요? –
당신은 그런 것을 찾고 있습니까? http://stackoverflow.com/questions/311840/tool-to-trace-local-function-calls-in-linux – delannoyk