[TRACE32] 유저 공간 콜스택 복원하기 - ARMv8(Aarch64)

Guillermo Austin Kim|2019년 12월 7일
Posts

[TRACE32] 유저 공간 콜스택 복원하기 - ARMv8(Aarch64)

Guillermo Austin Kim|2019년 12월 7일

Overview 커널 크래시가 발생해 덤프를 TRACE32로 분석할 때 유저 공간에서 실행 중인 함수들의 콜스택을 보고 싶을 때가 있습니다. 그 이유는 아래와 같은 디버깅 정보를 얻기 위해서 입니다.; * 유저 공간에서 어떤 함수가 실행한 후 시스템 콜을 통해 커널 공간으로 실행 흐름이 바뀌었나? * 유저 공간에서 어떤 파라미터를 전달했을까? 그런데 대부분 리눅스 시스템 개발자들은 TRACE32로 커널 공간의 콜스택만을 보면서 디버깅을 합니다. 이번 포스팅에서는 커널 패닉이 발생했을 때 유저 공간의 콜스택을 TRACE32으로 보는 방법을 소개합니다. 패치 코드를 활용하면 커널의 특정 함수에 브레이크 포인트를 걸었을 때도 유저 공간의 콜스택을 볼 수 있습니다. 조건 이번에 소개하는 패치