Call trace에 관하여...
글쓴이: swunk / 작성시간: 목, 2005/11/10 - 4:18오후
모듈 프로그래밍을 하던 중 아래와 같은 메시지들이 찍히더군요...
흔히 콜트레이스라고 하던데
이런 메시지는 왜 찍히는 건가요 ?
그리고 아래 메시지는 무엇을 의미하는 건지 어떻게 해석해야 되는지요 ? 참고로 말씀드리면 아래 메시지는 copy_to_user(to, from, len)로 from의 주소값을 to로 넘긴 후에 커널 영역에서 to의 값을 접근하려고 하니 찍힌 메시지입니다.
너무 질문을 뭉뜽거려서 하는것 같아 죄송 합니다만...아는게 없어서 그러려니 하고 이해해 주십시요..
그럼 고맙습니다.
1073221 Nov 10 14:48:43 superman kernel: CPU: 0 1073222 Nov 10 14:48:43 superman kernel: EIP: 0060:[<d0970136>] Tainted: GF 1073223 Nov 10 14:48:43 superman kernel: EFLAGS: 00010296 1073224 Nov 10 14:48:43 superman kernel: 1073225 Nov 10 14:48:43 superman kernel: EIP is at sample_get [new_module] 0x6b (2.4.20-8) 1073226 Nov 10 14:48:43 superman kernel: eax: 74c08500 ebx: d0970960 ecx: 00000001 edx: cee1e000 1073227 Nov 10 14:48:43 superman kernel: esi: 00000002 edi: 00000583 ebp: c79e9e4c esp: c79e9e3c 1073228 Nov 10 14:48:43 superman kernel: ds: 0068 es: 0068 ss: 0068 1073229 Nov 10 14:48:43 superman kernel: Process sample (pid: 5538, stackpage=c79e9000) 1073230 Nov 10 14:48:43 superman kernel: Stack: 00000010 c7b0ed00 32383538 00000000 00000001 c01fc110 ca7eba80 00000583 1073231 Nov 10 14:48:43 superman kernel: 08048452 c79e9eb0 ca7eba80 00000583 00000000 08048452 c01fc207 ca7eba80 1073232 Nov 10 14:48:43 superman kernel: 00000002 00000583 08048452 c79e9eb0 00000001 c0210eb8 ca7eba80 00000002 1073233 Nov 10 14:48:43 superman kernel: Call Trace: [<c01fc110>] nf_sockopt [kernel] 0xb0 (0xc79e9e50)) 1073234 Nov 10 14:48:43 superman kernel: [<c01fc207>] nf_getsockopt [kernel] 0x37 (0xc79e9e74)) 1073235 Nov 10 14:48:43 superman kernel: [<c0210eb8>] ip_getsockopt [kernel] 0x638 (0xc79e9e90)) 1073236 Nov 10 14:48:43 superman kernel: [<c018544d>] tty_default_put_char [kernel] 0x2d (0xc79e9ec4)) 1073237 Nov 10 14:48:43 superman kernel: [<c0185d6f>] opost [kernel] 0x9f (0xc79e9edc)) 1073238 Nov 10 14:48:43 superman kernel: [<c0187511>] write_chan [kernel] 0x161 (0xc79e9f00)) 1073239 Nov 10 14:48:43 superman kernel: [<c022fc96>] inet_getsockopt [kernel] 0x36 (0xc79e9f3c)) 1073240 Nov 10 14:48:43 superman kernel: [<c01eecbb>] sys_getsockopt [kernel] 0x5b (0xc79e9f54)) 1073241 Nov 10 14:48:43 superman kernel: [<c01ef3fd>] sys_socketcall [kernel] 0x22d (0xc79e9f80)) 1073242 Nov 10 14:48:43 superman kernel: [<c0109537>] system_call [kernel] 0x33 (0xc79e9fc0)) 1073243 Nov 10 14:48:43 superman kernel: 1073244 Nov 10 14:48:43 superman kernel:
Forums:
call trace... 트랩을 받았을 때 발생합니다. 리눅스 소스 트리
call trace... 트랩을 받았을 때 발생합니다. 리눅스 소스 트리의 arch/*/kernel/traps.c에 die() 함수가 정의되어 있는데, 여기서 레지스터며, 스택이며, 호출 단계를 출력합니다. 트랩의 원인은 붙여 넣어주신 메시지에서 좀만 더 올라가면 나와있을 듯 합니다만, 말씀하신 정황으로 봐서는 "비적법한 메모리 참조"에 한표입니다.
$PWD `date`
댓글 달기