Download presentation
Presentation is loading. Please wait.
Published byAnnice Webb Modified over 8 years ago
1
Company Logo www.themegallery.com Kernel Debugging 발표자 : 장명우
2
Company Logo www.themegallery.com Introduction KGDB 란 ? source level debugger for linux kernel gdb 를 이용해서 커널을 디버깅 할 수 있게 함 KGDB is a kernel patch (http://kgdb.sourceforge.net) KGDB features Source level debugging Support for threads in a kernel Support for Multiproccessor systems. Console output through GDB
3
Company Logo www.themegallery.com Getting KGDB http://kgdb.linsyssoft.com/downloads.htm http://kgdb.linsyssoft.com/downloads.htm kernel version 과 동일한 version kgdb patch 적용 ex) Patch for 2.4.23 kernel: linux-2.4.23-kgdb-1.9.patch linux-2.4.23-kgdb-1.9.patch shell scripts Loading a module for debugging (for versions prior to 1.9): loadmodule.sh Loading into gdb a module object file (for versions prior to 1.9): getsyms.sh loadmodule.sh getsyms.sh linux kernel source download ftp://linux.sarang.net/.4/kernel/ ( 한국 미러 사이트 ) ftp://linux.sarang.net/.4/kernel/
4
Company Logo www.themegallery.com Using KGDB Requirements hardware development machine : kernel / module 개발 test machine : 개발한 kernel / module 과 어플리케이션 테스트 Software kernel source code kgdb – patch 기타 shell scripts Development machineTarget machine serial line
5
Company Logo www.themegallery.com Using kgdb Setup development machine linux 배포판 설치 kernel source download & 압축 해제 kgdb kernel patch 적용 [root@linux2 src]# pwd /usr/src [root@linux2 src]# tar xvfj linux-2.4.23.tar.bz2 [root@linux2 src]# cd linux-2.4.23 [root@linux2 linux-2.4.23]# patch -p1 < linux-2.4.23-kgdb-1.9.patch [root@linux2 linux-2.4.23]# make xconfig [root@linux2 linux-2.4.23]# make dep; make bzImage 이곳에 커널 소스 다운로 드 이곳에 커널 patch 다운로드 kgdb 를 위한 커널 옵션 설정 kernel compile
6
Company Logo www.themegallery.com Using kgdb
7
Company Logo www.themegallery.com Using kgdb Setup – cont test machine 리눅스 배포판 설치 rsh 설정 ( 커널 이미지 복사 / 모듈 디버깅 ) Connection 패치가 적용된 커널 이미지를 테스트 머신에 복사 테스트 머신의 grub.conf 설정 수정 [root@linux2 linux-2.4.23]# cd /usr/src/linux-2.4.23/arch/i386/boot/ [root@linux2 boot]# rcp bzImage 220.67.226.94:/boot/vmlinuz-2.4.23-kgdb
8
Company Logo www.themegallery.com Using kgdb
9
Company Logo www.themegallery.com Using kgdb connection – continue serial communication 속도를 동일하게 설정 stty ispeed 38400 ospeed 38400 < /dev/ttyS0 두 머신에 /dev/ttyS0 를 읽고 쓰는 테스트로 확인 할 수 있음 ex) machine 1 : cat /dev/ttyS0 machine 2 : echo TEST > /dev/ttyS0 test machine booting kgdb 패치 적용된 커널로 부팅하면 다음과 같은 메시지와 함께 시스 템은 gdb 접속을 기다린다. Waitng for connection from remote gdb…
10
Company Logo www.themegallery.com Using KGDB Connection – cont development machine 에서 gdb 실행 ddd vmlinux ( 커널 컴파일한 디렉토리 내에서 ) ddd - gdb graphical front-end ddd 실행 시 vmlinux 는 압축 되지 않은 커널 이미지 ddd 실행 후 연결 커맨드를 주어야 한다 (gdb) target remote /dev/ttyS0
11
Company Logo www.themegallery.com Using kgdb
12
Company Logo www.themegallery.com Module debugging kernel debugging 과 유사하지만 모듈을 원격으로 올리는 작업이 필요함. loadmodule.sh 에서 gdbscripts 를 생성할 디렉토리 수정 ex) vi loadmodue.sh 파일 수정 GDBSCRIPTS=/root/gdbscripts
13
Company Logo www.themegallery.com Module debugging ddd
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.