검색

22.2. perf를 사용하여 함수 내에서 줄에 uprobes 생성

download PDF

그런 다음 이러한 추적점은 프로세스 또는 애플리케이션 동작을 더 잘 이해하기 위해 perf statperf 레코드와 같은 다른 perf 툴과 함께 사용할 수 있습니다.

사전 요구 사항

  • perf 설치에 설명된 대로 perf 사용자 공간 도구가 설치되어 있습니다.
  • 실행 파일의 디버깅 기호를 가져옵니다.Gets the debugging symbols for your executable:

    # objdump -t ./your_executable | head
    참고

    이렇게 하려면 실행 파일의 debuginfo 패키지를 설치하거나, 실행 파일이 로컬에서 개발한 애플리케이션인 경우, 디버깅 정보를 사용하여 애플리케이션을 컴파일해야 하며 GCC의 -g 옵션을 사용해야 합니다.

절차

  1. uprobe를 배치할 수 있는 함수 행을 확인합니다.

    $ perf probe -x ./your_executable -L main

    이 명령의 출력은 다음과 유사합니다.

    <main@/home/user/my_executable:0>
                  0  int main(int argc, const char **argv)
                  1  {
                            int err;
                            const char *cmd;
                            char sbuf[STRERR_BUFSIZE];
    
                            /* libsubcmd init */
                  7         exec_cmd_init("perf", PREFIX, PERF_EXEC_PATH, EXEC_PATH_ENVIRONMENT);
                  8         pager_init(PERF_PAGER_ENVIRONMENT);
  2. 원하는 함수 행에 대한 uprobe를 생성합니다.

    # perf probe -x ./my_executable main:8
    Added new event:
              probe_my_executable:main_L8   (on main:8 in /home/user/my_executable)
    
            You can now use it in all perf tools, such as:
    
                    perf record -e probe_my_executable:main_L8 -aR sleep 1
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.