GDB 사용법
GDB(GNU Debugger)는 프로그램을 디버깅하고 분석하는데 사용되는 강력한 도구이다. 이 글에서는 GDB의 기본적인 사용법에 대해 알아본다. GDB 설치 GDB를 사용하기 위해선 먼저 설치해야 합니다. 다음은 Ubuntu 기반 시스템에서 GDB를 설치하는 명령어이다.…
리눅스 시스템 디버깅
GDB(GNU Debugger)는 프로그램을 디버깅하고 분석하는데 사용되는 강력한 도구이다. 이 글에서는 GDB의 기본적인 사용법에 대해 알아본다. GDB 설치 GDB를 사용하기 위해선 먼저 설치해야 합니다. 다음은 Ubuntu 기반 시스템에서 GDB를 설치하는 명령어이다.…
objdump는 리눅스 환경에서 사용되는 강력한 바이너리 분석 도구로, 컴파일된 프로그램의 바이너리 코드를 분석하고 디버깅하는 데 사용된다. 이 글에서는 objdump 유틸리티에 대해 알아본다. objdump 기본 사용법 objdump 주요 사용 옵션은 다음과…
ARM 아키텍처를 타겟으로 하는 크로스 툴체인은 ARM 타겟 디바이스용으로 컴파일된 소프트웨어를 개발하거나 빌드하는 데 사용된다. 이 글에서는 Ubuntu에서 ARM cross toolchain 설치하는 방법에 대해 간단히 다룬다. ARM cross toolchain 패키지…
GCC(GNU Compiler Collection)은 개발 도구 및 컴파일러 세트이다. 이러한 GCC는 Windows, Linux 등의 다양한 플랫에서 사용할 수 있다. 이 글에서는 Ubuntu 22.04 LTS 에 GCC를 설하는 방법에 대해 알아본다. 1.…
strace는 리눅스에서 사용되는 디버깅 및 시스템 호출 추적 도구로, 실행 중인 프로세스가 시스템 호출을 어떻게 사용하는지 추적하고 분석하는 기능을 제공한다. strace를 사용하면 프로그램이 시스템 호출을 호출하고 반환하는 모든 상세한 정보를…
ltrace는 리눅스에서 사용되는 디버깅 및 프로파일링 도구로, 실행 중인 프로그램이 호출하는 라이브러리 함수를 추적하고 분석하는 기능을 제공한다. 이를 통해 소프트웨어 개발자는 프로그램의 동작과 성능을 이해하고, 잠재적인 버그를 찾거나 성능 개선을…
프로그래머들은 SW개발 중에 버그를 찾고 해결하기 위해 디버깅 작업을 수행한다. 리눅스 환경에서는 PTRACE라는 강력한 도구를 사용할 수 있는데, 개발자들은 이를 직접 이용하거나, 이를 이용하는 툴들을 사용하여 프로세스 디버깅을 할…
PTRACE 시작하기 PTRACE를 사용하기 위해서는 <sys/ptrace.h> 헤더 파일을 포함해야 하며 ptrace() 시스템 콜을 사용한다. PTRACE를 사용하기 전에 대상 프로세스를 생성하거나 이미 실행 중인 프로세스를 선택해야 한다. 프로세스 추적 제어 PTRACE_ATTACH…