태그 : CrashTools 요약보기전체보기목록닫기
- 커널 오브젝트 Kernel Object - rbtree debugging(child directory) - (1)!(0)2017.12.26
- ARM64- 스택 푸쉬(Stack Push) Userspace -> Kernel Space (0)2017.12.25
- Process 프로세스 상태 (1) - 런큐(Runqueue) 디버깅(8)2017.12.15
- [Linux][Kernel] signal - signal handler data structure(2)2017.12.11
- [Linux][Kernel] softirq - 호출되는 모듈 (h->action)(0)2017.12.04
- [리눅스커널][디버깅] Red Hat Crash-Utility(크래시 유틸리티) 설치!(2)2017.12.04
- Crash 명령어!(0)2014.08.05
1
Crash Tool로 커널 오브젝트의 rbtree를 디버깅하는 방법에 대해 간단히 소개하고자 해요.아래와 같은 커널 오브젝트가 있다고 가정해보아요. Sys node의 위치는 /sys/devices/system/cpu/cpu3 이겠죠?현재 struct kobject->cpu는 "cpu3"을 가르키고 있는데요, 그럼 이 커널 오브젝트의 하위 child...
- #이제는 Arm의 시대
- 2017/12/25 11:46
유저 스페이스에서 커널 스페이스로 전환하려면 시스템 콜을 호출해야 한다 것은 마르고 닳도록 들었죠?이번에는 ARM64 Architecture에서 EL0 ->EL1로 변환될 시, Stack을 어떻게 Push하는 지 살펴볼께요."rild"란 프로세스의 콜스택을 예를 들어 볼 께요. 잘 보면, 유저 공간에서 sendto란 시스템 콜을 호출했다는 걸 알 ...
- 4. 프로세스(Process) 관리
- 2017/12/15 08:28
리눅스 커널 책을 보면 가장 먼저 프로세스에 대한 내용을 읽을 수 있습니다. 그 중에 프로세스 상태가 바뀌는 동작에 대해 혹시 잘 알고 있나요? 예를 들면 프로세스는 Ready 상태에 있다가 CPU를 점유하면 Running 상태로 바뀌고 Running 상태에서 CPU을 양보하면 Ready로 바뀌었다가 나중에 Sleep으로 바뀐다. 이런 방식입니다. 이렇...
리눅스 커널 코드 리뷰를 많이 했는데요.리눅스 시스템 프로그램이 커널과 어떻게 연동되는지 한 가지 점검해볼께요.유저 공간에서 signal을 설정하는 코드를 많이 볼 수 있습니다.아래는 SIGINT란 시그널이 전달되었을 때 linux_sig()란 함수가 호출되는 간단한 코드입니다.그럼 아래 시그널 콜백 함수가 어떻게 실행이 될까요?#include <...
# 인터럽트 후반부 처리1 IRQ Thread(threaded IRQ) 란 2. 인터럽트 후반부 처리(Bottom Half) 소개3. IRQ Thread는 언제 생성할까?[1] 4. IRQ Thread는 언제 생성할까?[2] 5. ksoftirqd 쓰레드란6. Soft IRQ 소...
- [Debugging] Tips
- 2017/12/04 12:03
리눅스 커널 동네에서 전 세계적으로 쓰고 있는 디버깅 툴을 소개하고자 합니다.https://people.redhat.com/anderson/레드헷의 앤더슨이란 형님이 만든 오픈 소스로 배포한 리눅스 크래시(커널 패닉)을 분석할 수 있는 툴인데요, 리눅스 커널 커뮤니티에서도 이 툴을 활발히 쓰고 있죠.소스를 좀 받아 볼까요? 리눅스 머신에서 아래...
- [Debugging] Tips
- 2014/08/05 09:08
1
최근 덧글