지난일들/GDB 6

qemu gdb사용하기

QEMU에서는 remote gdb를 통해서 실행이 가능하다. QEMU를 우선 실행한 이후에 gdb를 실행시키고 특정 명령을 입력하여 연결이 가능하다. QEMU실행 기본 qemu를 실행시키는 명령에 다음 옵션을 추가해준다. #-gdb -S 위와 같은 옵션을 추가해주게 되면 정지 상태에서 gdb의 접속을 기다리게 된다. gdb실행 gdb를 실행한 이후에 remote connect를 실행한다. gdb내에서 다음 명령을 입력해준다. #target remote

지난일들/GDB 2014.03.01

QEMU에서 remote gdb의 사용

1. 일반적인 embedded linux를 타켓에 포팅하고 remote gdb를 통해서 debugging을 실행할 경우GDB cross debugger 를 build 하고 install한다. gdbserver를 build하고 install한다. (몇몇 linux에서는 gdbserver를 rootfs의 어플리케이션처럼 구분하고, 어떤 경우에는 toolchain의 package의 의 일부로 들어가는 경우도 있다. 만약 포함이 되어있지 않다면 cross compile을 통해서 추가해주어야 한다.)application을 적절한 CFLAGS와 LDFLAGS등으로 설정한다.gdbserver와 컴파일된 application을 타겟으로 이동한다. 타겟에서 gdbserver를 실행 시키고, 연결 설정을 실행한다. (se..

지난일들/GDB 2012.08.16

gdb_stub 코드 분석_AT128 시뮬레이션용 코드

@고려사항1. uItron에서 gdb_stub를 실행시킬 위치2. atmega128용 gdb_stub의 경우atmea128을 시뮬레이션하고(atmega128의 모든 구조를 프로그램 상으로 재현해서 실행 시킨다)초기 모듈의 생성과 초기화를 실행하는 과정에서 gdb_stub를 실행 시키는 과정이 포함되어있다. 소켓 통신을 통한 포트를 오픈하는 과정이 코드에 포함되어있다. 3.

지난일들/GDB 2012.08.10

임베디드 Linux 시스템 기반 다중 프로세스 동시 디버깅을 지원하는 원격 디버거 설계 및 구현

[출처]임베디드 Linux 시스템 기반 다중 프로세스 동시 디버깅을 지원하는 원격 디버거 설계 및 구현요약 - 임베디드 리눅스 환경에서 gdb/gdb server를 사용한 원격 디버깅이 가능하지만 개발자의 부가적인 코딩과 추가적인 어려움들로 인해서 불편한 점이 많다. 따라서mgdb와 mgdbserver를 사용해서 리눅스 커널의 변경없이 라이브러리 매핑을 이용한 원격 디버거 제안기존 GDB와 gdbserver를 사용한 디버깅 실행 과정 실행에 필요한 과정 - 새로이 생설될 프로세서에 sleep코드 삽입(스케줄링 되어 수행시에 커널에 의한 종료 방지) -> sleep코드 가 실행 되는 경우 발생 -> 자식 프로세스 정지 -> 타겟 시스템에서 새로운 gdbserver 실행 및 정지된 프로세스를 자식 프로세스로..

지난일들/GDB 2012.08.07

논문 쓰기

구글 학술 정보 검색 - " "를 통해서 검색시 필수 단어 설정 가능 - 해당 설정을 통해서 검색시 표현에서 어려운 문장의 사용횟수를 비교해서 맞는 표현을 확인 가능Abstract - 연구의 주된 목적과 연구 범위 기술 -> 연구 목적을 위해 선택한 방법론 설명 -> 연구의 결과 및 결론 - 피해야할 표현: 그림의 포함 및 가리킴, 타논문 인용Introduction (1)본 연구의 중요성 부각 (2) 간단한 기존 연구 방법론: review (3) 기존 연구의 한계점 (4) 기존 여구의 한계점을 극복한 본 여구 결과의 주된 내용 (5) 본문의 outline관련연구 게재 - 기존에 연구된 모든 논문이 관련 연구의 범위에 들어가야한다. - 해당 연구 분야에서 가장 중요한 메인 논문이 들어간다: 거의 연구과정에..

지난일들/GDB 2012.08.02

GDB stub에 대해서....

GDBserver - 작은 GDB 라는 개념- 실제 GDB와 유사한 시설을 요구하기 때문에 Stub를 완전히 대체할 수 없다.- 원격의 GDB와연결 되어서 GDB의 기능을 일부 사용이 가능하다. - 크기가 작기 때문에 일반 GDB 보다 빠르게 동작한다. http://sunder4.tistory.com/21 GDBstub -원격의 머신에서의 프로그램을 디버깅한다.- set_debug_taps: handle_exception 조정- handle_exception: 프로그램 실행도중 정지할 경우(ex)break point)에서 제어를 갖게된다. 그리고 호스트 머신에 있는 GDB와의 통신을 중재한다. 타겟머신에서 GDB를 대신해서 동작.- breakpoint 삽입 1. GDB(GNU debugger)?* 프로그..

지난일들/GDB 2012.08.02