dmesg에서 Trace를 이해하는 방법은 무엇입니까?

dmesg에서 Trace를 이해하는 방법은 무엇입니까?

저는 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.

관련 정보