CRASH-UTILITY

Category
아이템: 
포스트 갯수9

[Crash-Utility] 램덤프 로딩 시 파라미터(CONFIG_PROC_KCORE)

By Guillermo Austin Kim | 2022년 1월 5일 | 
크래시 유틸리티를 실행해 램덤프를 로딩하려면 적절한 아규먼트를 지정해야 합니다. 예를 들면 다음과 같습니다. ./crash64 ramdump.bin@0x800000000 -p 4096 -m kimage_voffset=0xFFFFFFBF58000000 -m page_offset=0xFFFFFF8000000000 -m vabits_actual=39 -m phys_base=0x40000000 --no_panic --smp vmlinux kimage_voffset, page_offset, phys_base과 같은 파라미터를 제대로 설정해야 크래시 유틸리티가 실행됩니다. 그런데 kimage_voffset, page_offset 옵션을 어떻게 적용해면 될지 모를 때가 있습니다. 이럴 때는 이번 포스트에서 소개한

[리눅스커널] 크래시 유틸리티: files -p '아이노드 주소' + files -d '덴트리 주소' 디버깅

By Guillermo Austin Kim | 2019년 12월 17일 | 
크래시 유틸리티는 다양한 메모리 및 파일 시스템 디버깅 기능을 제공합니다.그 중에 유용한 기능 중 하나를 소개합니다. * files -p '아이노드 주소' 먼저 다음 명령어를 입력해 오픈된 파일에 대한 파일 디스크립터, 아이노드 그리고 덴트리를 확인 합니다. * files <pid> crash> files 1664PID: 1664 TASK: dc270000 CPU: 1 COMMAND: "Chrome-proc.anim"ROOT: / CWD: / FD FILE DENTRY INODE TYPE PATH 0 de4d8200 e1a33ab0 e0ce8dd8 CHR /dev/null 1 de4d8200 e1a33ab0 e0ce

[Crash-Utility] Radix Tree 디버깅: 'tree -t radix -N (struct radix_tree_node *) 구조체 주소'

By Guillermo Austin Kim | 2019년 9월 30일 | 
이번 시간에는 크래시 유틸리티로 라덱스 트리를 디버깅하는 방법을 소개합니다. 라딕스 트리(Radix Tree)를 보기 위한 명령어 크래시 유틸리티로 라덱스 트리 노드를 보기 위한 명령어 포멧은 다음과 같습니다. tree -t radix -N (struct radix_tree_node *) 구조체 주소 예제 명령어 및 결과 ( struct radix_tree_node 구조체 주소가 0xFFFFFFFF3A806E79 인 경우) crash> tree -t radix -N 0xFFFFFFFF3A806E79ffffffff3f53c180ffffffff3f53c4c0ffffffff3f555180ffffffff3f5554c0ffffffff3f56e180ffffffff3f56e4c0ffffffff3f5

[Linux][Kernel] data abort@irq_affinity_notify - 리눅스 커널

By Guillermo Austin Kim | 2018년 1월 12일 | 
아래 커널 로그와 함께 시스템이 커널 패닉으로 돌아가셨어요.irq_affinity_notify+0x4c 란 함수에서 data abort가 난 것을 확인할 수 있어요.[287229.435076] <c6>mmc0: mmc_start_bkops: raw_bkops_status=0x2, from_exception=1[287230.328287] <c6>mmc0: mmc_start_bkops: Starting bkops[287231.319886] <26>Unable to handle kernel NULL pointer dereference at virtual address 000000fc[287231.319920] <26>pgd = c0004000[287231.319936]