저는 특정 입력이 주어진 다양한 Linux 프로그램 (C로 작성된)에서 어떤 함수가 호출되는지 찾아야하는 프로젝트에 참여하고 있습니다. 현재 나의 접근 방식은 -pg (프로파일 링 옵션)을 사용하여 프로그램을 컴파일하고 실행하며 gprof의 출력을 처리하여 호출되는 함수를 찾는 것이다. 적어도 한 번 이상 호출 된 함수 만 출력 파일에 나타납니다.소스를 수정하지 않고 다중 프로세스 프로그램에서 호출되는 함수 찾기?
명백한 문제는 하나의 프로세스 만 gprof 출력 파일에 쓸 수 있다는 것입니다. 프로그램이 여러 프로세스를 포크하는 경우 다른 프로세스에서 프로파일 출력을 얻지 못합니다.
gprof가 각 프로세스 (pid로 레이블 된 것일 수도 있음)에 대한 출력 파일을 생성하도록하는 방법이 있습니까? 이 매뉴얼에서는 각 프로세스가 다른 디렉토리로 변경되도록 제안하지만이 작업을 수행하기 위해 소스 코드를 수정하고 싶지는 않습니다. 도움이 될 Linux 용 도구가 있습니까?
gcov와 똑같은 문제가 있습니다. 자녀 과정의 범위는보고되지 않습니다. –