Presentation is loading. Please wait.

Presentation is loading. Please wait.

Company Logo www.themegallery.com Kernel Debugging 발표자 : 장명우.

Similar presentations


Presentation on theme: "Company Logo www.themegallery.com Kernel Debugging 발표자 : 장명우."— Presentation transcript:

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


Download ppt "Company Logo www.themegallery.com Kernel Debugging 발표자 : 장명우."

Similar presentations


Ads by Google