Embedded : : Linux

dump_stack()

Jay.P Morgan 2024. 10. 31. 22:36

 

  1. dump_stack() 함수

 

  1.1  dump_stack() 함수 기능

커널 로그를 통해 커널 동작 중 call stack을 보여주는 기능을 한다.

스택트레이스를 커널 로그를 통해 출력한다.

즉, 오류가 나는 부분에 dump_stack() 함수를 추가하여 오류가 나기전 콜스택을 볼 수 있다.

 

  1.2  dump_stack() 함수 위치

dump_stack() 선언부

asmlinkage __visible void dump_stack(void);

- 인자와 반환 값이 모두 void 인것을 확인 할 수 있다.

​※ 콜스택의 흐름은 밑에서 위로 가장 최신이 출력된다.

 

 

 

 

  1.3  dump_stack() 사용

예외처리나 심각한 오류가 발생한 경우 사용한다.
 

​#include<linux/kernel.h> 헤더를 추가한 후, 커널 로그로 콜스택을 보고 싶은 코드에 dump_stack() 함수를 호출한다.