728x90
반응형
dbx는 UNIX 및 UNIX 계열 운영 체제에서 디버깅을 위한 명령 줄 디버거입니다.
dbx를 사용하여 C, C++ 및 기타 언어로 작성된 프로그램을 디버그할 수 있습니다.
아래는 dbx 명령어를 사용하는 기본적인 방법입니다:
프로그램 실행 및 디버깅:
# 여기서 [프로그램명]은 디버깅하려는 실행 파일의 이름입니다.
dbx [프로그램명]
프로그램 시작:
# 디버깅 프로세스를 시작합니다.
start
중단점 설정:
# [함수명]은 중단점을 설정하려는 함수의 이름입니다.
stop in [함수명]
프로그램 실행:
# [인수]는 프로그램에 전달할 명령행 인수입니다.
run [인수]
중단점으로 이동:
# 실행을 중단점에서 중단합니다.
cont
변수 값 확인:
# [변수명]은 확인하려는 변수의 이름입니다.
print [변수명]
스택 트레이스 확인:
# 현재 호출 스택의 상태를 표시합니다.
where
단계별 실행:
# 코드를 한 단계씩 실행하며 디버깅합니다.
step
중단점 제거:
# 현재 중단점을 제거합니다.
delete
디버깅 종료:
# dbx를 종료합니다.
quit
dbx 를 사용한 core 덤프 파일 디버깅 방법 예시
- 먼저 dbx를 사용하여 프로그램 실행 파일과 함께 core 덤프 파일을 로드합니다. 먼저 프로그램 실행 파일을 실행합니다. 예를 들어:여기서 [프로그램명]는 디버깅하려는 실행 파일의 이름이고 core는 core 덤프 파일의 이름입니다. 또한 core 덤프 파일이 현재 디렉토리에 있어야 합니다.
- dbx [프로그램명] core
- 덤프 파일이 로드되면 dbx가 오류가 발생한 지점으로 이동합니다. 이 시점에서 오류를 분석하고 디버깅할 수 있습니다.
- 오류 정보를 얻기 위해 다음 명령을 사용합니다:
- where: 현재 호출 스택을 표시하여 오류가 발생한 함수 및 호출 경로를 확인할 수 있습니다.
- up 및 down: 호출 스택에서 이동하며 다른 호출 스택 프레임으로 이동할 수 있습니다.
- list: 현재 소스 코드의 일부를 표시하여 오류가 발생한 지점에서 주변 코드를 확인할 수 있습니다.
- print [변수명]: 오류와 관련된 변수의 값 확인.
- 오류를 해결한 후 프로그램을 다시 컴파일하고 실행하여 오류가 수정되었는지 확인합니다.
- 필요한 경우 반복적으로 디버깅 프로세스를 실행하여 오류를 해결합니다.
dbx를 사용하여 core 덤프 파일을 디버깅하는 것은 프로그램이 비정상 종료하고 덤프 파일을 생성한 경우 유용합니다. 이를 통해 오류의 원인을 파악하고 수정할 수 있습니다.
728x90
반응형
LIST
'Linux' 카테고리의 다른 글
[Linux] ulimit 에 대한 다양한 옵션과 설명 (2) | 2023.12.06 |
---|---|
[Linux] ldapsearch 명령어 사용 방법 (2) | 2023.11.27 |
[Linux] C언어로 C 파일 컴파일 및 실행 (3) | 2023.11.21 |
[Linux] find 명령어로 group,user 파일 찾기,변경하기 (1) | 2023.11.17 |
[Linux] Telegraf 설치 및 다양한 예제 (1) | 2023.10.16 |