CRASHTOOL
Posts
10 posts[Crash-Utility] 램덤프 로딩 시 파라미터(CONFIG_PROC_KCORE)
크래시 유틸리티를 실행해 램덤프를 로딩하려면 적절한 아규먼트를 지정해야 합니다. 예를 들면 다음과 같습니다. ./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 옵션을 어떻게 적용해면 될지 모를 때가 있습니다. 이럴 때는 이번 포스트에서 소개한
watchdog reset - race in ipv6_ifa_notify() - 리눅스 커널
예전 MTK SoC에서 일어났던 Watchdog Reset 이슈인데요. 디버깅 정보를 조금 공유하고자 해요. CPU1에서 수행 중인 "migration/1" process에서 watchdog reset이 발생하여 시스템이 리셋된 흔적을 확인할 수 있어요.-000|do_undefinstr()-001|__und_svc_fault(asm) -->|exception-002|aee_wdt_atf_info()-003|aee_wdt_atf_entry()-004|debug_smp_processor_id()-005|cpu_stopper_thread()-006|smpboot_thread_fn()-007|kthread()-008|ret_from_fork(asm)-009|ret_fast_syscall(asm) MTK S
crash-utility - wakelock 디버깅
android 시스템에서 wakelock 소스를 등록할 때는 wakelocks_tree란 rbtree 접근을 해요.그럼 이 정보를 바탕으로 어떤 모듈이 wakelock을 잡고 있는지 점검해볼까요? 우선 wakelocks_tree.rb_node 멤버가 갖고 있는 rbnode를 확인해요.crash64> p wakelocks_treewakelocks_tree = $2 = { rb_node = 0xffffffc0e397b108} wakelocks_tree에 등록한 인스턴스를 아래 wakelock_node 변수로 리다이렉트합니다.tree -t rbtree -o wakelock.node -N 0xffffffc0e397b108 > wakelock_node wakelock_node 값을 확인해볼까요? 아
crash-utility(crashtool) - 리다이렉션 커맨드
가끔 모든 프로세스의 스택 주소를 알고 싶을 때가 있어요. 이럴 때 쓰면 좋은 명령어가 있어 소개합니다. 이 기능이 Trace32보다 확실히 좋은 것 같아요. 우선 init process의 TCB(Task descriptor) 주소를 파악해요.흠, 0xffffffc001580e40이네요.crash64> p &init_task$1 = (struct task_struct *) 0xffffffc001580e40 모든 프로세스들이 task_struct.tasks 링크드 리스트에 매달려 있잖아요?그럼 아래 명령어를 쳐서 task_addr란 파일로 리다이렉트 시켜요.list task_struct.tasks -h 0xffffffc001580e40 > task_addr
![[굿즈] 웹툰 『악역의 엔딩은 죽음뿐』 트럼프 카드 : 아는 장면이라도 플레잉 카드로 수집하는 이 맛](https://img.zoomtrend.com/2026/06/05/1780650880-SE-1c22cf84-12af-4fb2-95c5-c6354bd47dfd.jpg)


