Post
원문 보기 →GDB 소개와 사용 예제 (GNU DEBUGGER)
GDB 소개GNU 디버거이며, 간략하게 줄여서 GDB라고 불리는 이 소프트웨어는 GNU 소프트웨어 시스템을 위한 표준 디버거이다. GDB는 다양한 유닉스 계열 시스템에서 동작하며, C, C++, 포트란을 비롯한 수많은 프로그래밍 언어를 디버깅하도록 도와주는 이식성 높은 디버거이다. 단순하고 직관적인 디버거GDB는 CLI(명령 라인 인터페이스)를 통해 각종 정보를 제공하는데, 메모리 정보, 스택 정보, 레지스터 정보 등 매우 다양한 정보를 제공한다. GDB는 기본적으로 프로세스 단위로 정보를 제공한다 GDB의 디버깅 방법C소스 각각 한 행은 한 묶음의 어셈블리 코드와 대응. (C++도 동일하다) 컴파일이 끝난 후 생성되는 각 어셈블리 코드 묶음을 C 소스의 각 행과 비교할 수 있게 소스 파일과 해당 인
Related Posts
3 posts[리눅스] 라즈베리 파이: coredump 추출 방법 + gdb 디버깅 방법
이번 포스트에서는 라즈베리 파이에서 coredump가 생성되도록 설정하는 방법과 GDB로 coredump를 로딩하는 방법을 소개합니다. coredump 생성 1. coredump 파일 사이즈 설정 'ulimit -a' 명령어를 입력하면 coredump 파일의 사이즈가 출력됩니다. root@raspberrypi:/home/pi/work/test_coredump# ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size (blocks, -f) unlimitedpending signals
[GDB] Arm(Armv7): C 코드와 어셈블리 코드를 동시에 디버깅하기
이번 포스트에서는 GDB를 사용해 디버깅을 하는 방법을 소개합니다. 소개된 내용을 참고하면 즐겁게 어셈블리 명령어를 디버깅할 수 있습니다. 환경: 라즈베리 파이4 GDB 실행 아래 명령어를 사용해 GDB를 Text User Interface 모드로 실행합니다. $ gdb -tui armv7_aapcs_proc 다음은 위 명령어로 실행한 화면입니다. 이제 바로 다음 명령어를 입력해 어셈블리 명령어 창을 보이도록 합시다. $ layout split 이번에는 'b main'와 'r' 명령어를 입력해 main() 함수에 브레이크 포인트를 걸고 프로그램을 실행합니다. 위 명령어를 입력하면 다음과 같은 화면이 보입니다. 위 화면과 같이 main() 함수의 첫 번째 라인에 브레
[리눅스] GDB 프로그램 사용 위치 파악: 'which -a'
gdb와 같은 프로그램이 설치된 경로를 확인하고 싶을 때가 있습니다.이 때 다음 명령어를 사용하면 됩니다. 'which -a' 아래는 터미널에서 'which -a' 명령어를 사용한 예시입니다. baldcandy:#/etc$ which -a gdb-multiarch/usr/bin/gdb-multiarch gdb-multiarch가 '/usr/bin/gdb-multiarch' 에 위치해 있군요. 이번에는 gdb 프로그램의 위치를 확인해보겠습니다. baldcandy:#/etc$ which -a gdb/usr/bin/gdb gdb가 '/usr/bin/gdb' 에 위치해 있군요. ---"이 포스팅이 유익하다고 생각되시면 공감 혹은 댓글로 응원해주시면 감사하겠습니다. "혹시 궁금한 점이 있으면 댓글로 질


