✺
printk와 dump_stack을 활용해 커널 디버깅을 하던 리눅스 커널 개발자들은 여러 불편함을 느끼기 시작했습니다. 즉, 다음과 같은 요건을 충족하는 커널 디버깅 기능이 있으면 좋겠다고 생각하게 됩니다. 함수 호출 흐름을 소스코드를 수정하지 않고도 보고 싶다. 커널 세부 실행 정보를 출력해 줬으면 좋겠다. 1초에 수십 번 호출해도 성능에 부담을 주지 않았으면 좋겠다. 커널 로그도 함께 보고 싶다. 이런 요구사항을 모두 충족하는 커널 디버깅 기능이 바로 ftrace입니다. ftrace는 리눅스 커널에서 제공하는 가장 강력한 트레이서입니다. ftrace는 커널 개발자에게 축복과도 같은데, 커널 세부 동작을 알기 쉽게 출력하기 때문입니다. ---트레이서는 strace나 ltrace처럼 리눅스