태그 : Debugging 요약보기전체보기목록닫기
- [리눅스커널] 커널 디버깅과 코드 학습: 디버깅은 문제 해결 능력의 지름길(3)2019.03.11
- [리눅스커널][Trace32] wakelock 디버깅 - container_of(0)2018.06.26
- ARM64- Stack Push Userspace -> Kernel Space 코드리뷰(0)2018.01.01
- ftrace - kmem event 디버깅 정보 추가: call_site=c013857c (0)2017.12.26
- ARM64(Aarch64) - 함수 호출시 Stack Push(스택 푸쉬) 규약(0)
2017.12.25
- ARM64- 스택 푸쉬(Stack Push) Userspace -> Kernel Space (0)2017.12.25
- 특정 CPU를 끄는 패치(특정 CPU에서 커널 크래시)(0)2017.12.24
- Runqueue(런큐) Timestamp(실행 시간) 확인(0)2017.12.24
- fd(file descriptor: 파일 디스크립터) 디버깅 CrashTool(0)2017.12.20
1 2
- 3. 커널 디버깅과 코드 학습
- 2019/03/11 07:01
디버깅은 'debug'와 '-ing' 합성어로 버그를 잡는 과정을 뜻합니다. 누군가 '디버깅하고 있다'라고 말하면 '버그를 수정하고 있다'고 볼 수 있습니다. 필자는 디버깅을 단지 버그를 잡는 과정만으로 보지는 않습니다. 리눅스 커널과 드라이버가 정상 동작할 때 자료구조와 함수 호출 흐름까지 파악하는 과정을 디버깅이라고 생각합니다.이번 절에서는...
- [Debugging] Tips
- 2018/06/26 21:52
[crash-utility] wakelock 디버깅(rbtree: wakelocks_tree)[crash-utility]wakelock - rbtree debugging(디버깅) [리눅스커널][Trace32] wakelock 디버깅 - container_of[Kernel] wakelock debug patch 이번 시간에는 wakeup...
- #이제는 Arm의 시대
- 2018/01/01 00:35
유저 공간에서 실행된 레지스터가 커널 Bottom Stack에 Push 되는 디버깅 정보를 예전 페이지에 업데이트했잖아요.아래와 같은 메모리 덤프를 확인했었죠.(출처:http://rousalome.egloos.com/9966225)NUD:FFFFFFE4DE6A7EB8| 3C 6B 77 2B 46 76 A8 C2 0xC2A876462B776B3...
- [Kernel] Debug Feature
- 2017/12/26 15:49
슬랩 캐시 디버깅(메모리 free/해제 정보 파악)을 위해서, 아래와 같이 ftrace event를 설정할 수 있는데요.echo 1 > /sys/kernel/debug/tracing/events/kmem/kfree/enableecho 1 > /sys/kernel/debug/tracing/events/kmem/kmalloc/enableecho ...
- #이제는 Arm의 시대
- 2017/12/25 13:03
아래와 같은 콜 스택에서 유저 공간에서 돌던 레지스터 Stack Push와 Exception 발생 시 Stack Push에 대해서 살펴봤어요. 이제는 평상시 함수 호출 시 어떻게 Stack Push를 하는 지 점검하려고 해요.자 계속 그 동안 다뤄왔던 아래 "rild"란 프로세스의 콜스택에서 rpi_ipc_router_sendmsg()-> rpi_...
- #이제는 Arm의 시대
- 2017/12/25 11:46
유저 스페이스에서 커널 스페이스로 전환하려면 시스템 콜을 호출해야 한다 것은 마르고 닳도록 들었죠?이번에는 ARM64 Architecture에서 EL0 ->EL1로 변환될 시, Stack을 어떻게 Push하는 지 살펴볼께요."rild"란 프로세스의 콜스택을 예를 들어 볼 께요. 잘 보면, 유저 공간에서 sendto란 시스템 콜을 호출했다는 걸 알 ...
- [Debugging] Tips
- 2017/12/24 13:47
가끔 타겟 보드에서 특정 CPU에서만 커널 패닉으로 시스템이 리셋되는 경우가 있어요.이럴 때 테스트할 수 있는 유용한 디버깅 패치를 소개하고자 해요.아래 패치는 부팅 할 때 CPU3을 sys node에서 아예 제거시키거든요. 아예 CPU3가 안 돌게 되는거죠.diff --git a/kernel/cpu.c b/kernel/cpu.cindex 5b4440d...
- 4. 프로세스(Process) 관리
- 2017/12/24 12:12
보통 커널 크래시나 와치독 리셋으로 시스템이 다운된 경우 세밀하게 디버깅해야 할 때가 있어요.그런데 가끔 각 프로세스가 마지막에 어떤 순서로 실행이 됐는지 확인하고 싶을 경우가 가끔 있거든요.이 순서가 가끔 정말 중요한 순간이 가끔 있어요.아래는 런큐에서 돌고 있는 프로세스 목록이거든요. 그럼 각각 프로세스가 어떤 순서로 실행이 되었는지 알 수 있을까요...
- [Linux][Kernel] VFS
- 2017/12/20 19:19
"echo c > /proc/sysrq-trigger" 명령어로 강제 커널 패닉을 유발시킨 다음 코어 덤프를 받아 보았어요.crash> bt -I C01003AC -S C59C3E20 0xD110E040PID: 4944 TASK: d110e040 CPU: 0 COMMA...
1 2
최근 덧글