Skip to content

anonkorea4869/function_tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

경로 추적기 (easy_auditing Tracker)

이 프로그램은 함수, 구조체, 인자 호출 관계를 추적하기 위해 제작되었습니다.

필수 설치 프로그램

  • Cscope

    Ubuntu

    sudo apt-get install cscope

함수를 탐색하기 위한 파일 만들기

  1. easy_auditing/*에 있는 파일들을 포함할 경우의 예시입니다.
  2. 터미널에서 해당 디렉토리로 이동합니다:
    cd easy_auditing/*
  3. cscope 데이터베이스를 생성합니다:
    find . -type f \( -name "*.c" -o -name "*.h" \) > cscope.files
    cscope -b -q -k
  4. 만들어진 cscope.out 파일을 easy_auditing.py와 같은 디렉토리에 위치시킵니다.

실행

python3 main.py --src=<func_name> --dest=<func_name> [--depth=<int, default=4>]
python3 main.py --define=<func_name>

실행 예시

python3 main.py --src=kbase_ioctl --dest=kbase_reg_prepare_native --depth=4
[1] kbase_ioctl(mali_kbase_core_linux.c, L1697) -> KBASE_HANDLE_IOCTL_INOUT(mali_kbase_core_linux.c, L1747) -> kbase_api_mem_alloc(mali_kbase_core_linux.c, L975) -> kbase_mem_alloc(mali_kbase_mem_linux.c, L398) -> kbase_reg_prepare_native
[2] kbase_ioctl(mali_kbase_core_linux.c, L1702) -> KBASE_HANDLE_IOCTL_INOUT(mali_kbase_core_linux.c, L1747) -> kbase_api_mem_alloc(mali_kbase_core_linux.c, L975) -> kbase_mem_alloc(mali_kbase_mem_linux.c, L398) -> kbase_reg_prepare_native

주의 사항

  • 함수 호출 관계를 추적하는 데이터인 cscope.out 파일은 소스 코드의 변경 사항(예: 주석 추가 등)을 실시간으로 반영하지 않습니다. 소스 코드에 주석 등을 추가하여 cscope.out 파일과 실제 코드의 줄 수가 일치하지 않게 되면, 라인 불일치 문제가 발생할 수 있습니다.
  • 이러한 문제가 거슬린다면, 명령어를 다시 입력하여 새로 갱신된 cscope.out 파일로 확인하시기 바랍니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages