본문 바로가기

Tech/linux

Linux kernel dynamic debug

리눅스 커널 드라이버를 개발하다보면 dev_dbg가 안나오는 경우가 있다.

이런경우 몇 가지 방법을 시도해야한다.

 

1. Dynamic debug

요즘 많이 사용되는 방식으로 기존 전통적인 방식 대비 깔끔하지만 여러가지 설정이 필요하다.

 

config에서 dynamic_debug를 켜주고 빌드하여야 한다.

이후 debugfs 를 mount 한 후,

<debugfs>/dynamic_debug/control 에 원하는 파일을 추가로 기술해주어야 한다. (이미 써져있는 경우도 있음)

 

2. Traditional debug

dev_dbg의 경우 dynamic_debug가 기본적으로 off이다. (on 일 경우 전통적인 방식은 안먹힘.)

보통 2가지를 해주면 되는데, 본인이 원하는 드라이버에 (.c or .h)

#define DEBUG 매크로 정의

그리고 각 서브시스템마다 debug config가 따로 존재하는 경우 이것도 켜주어야 한다.

 

추가로 1,2 번 방식 둘다 kernel console debug level이 충분히 높은지 확인 (/sys/kernel.../printk) 은 공통적으로 필요하다.

 

'Tech > linux' 카테고리의 다른 글

serial minicom terminal이 깨져서 나올 경우  (0) 2024.06.26
kernel module_platform_driver  (0) 2024.06.26
커널 패치 사전 점검 리스트  (0) 2024.06.11
Debian 12 한글 입력  (0) 2024.04.05
Ubuntu에서 Debian으로 옮긴 이유  (0) 2024.04.02