저는 Linux 커널 디버깅을 배우고 있습니다. dmesg는 커널 디버깅 로그를 출력하는 도구입니다.
...
[ 2.988000] Trace:
[ 2.988000] [<ffffffff80942810>] __warn+0x160/0x190
[ 2.988000] [<ffffffff8111ae9c>] dwc3_probe+0xc1c/0x1e60
[ 2.988000] [<ffffffff8111ae9c>] dwc3_probe+0xc1c/0x1e60
[ 2.988000] [<ffffffff80fe4434>] platform_drv_probe+0x34/0x90
...
- 질문 1: IIUC
__warn
는 커널 기능이란 무엇입니까0x160/0x190
?
답변1
~에서스택 오버플로에 대한 이 답변:
[10991.880408] EIP: 0060:[<c06969d4>] EFLAGS: 00210246 CPU: 0 [10991.880411] EIP is at iret_exc+0x7d0/0xa59
이렇게 하면 잘못된 명령 포인터가 직접 또는 부호+오프셋으로 제공됩니다. 슬래시 뒤의 부분은 함수의 크기입니다.
유사한 형식을 가정하면 는 ffffffff80942810
주소, __warn
는 기호, 0x160
는 해당 기호의 오프셋, 는 0x190
함수의 크기입니다 __warn
.