Cloud9의 IDE 환경에서 GDB가 작동하는 방식에 대한 설명이 필요합니다.
IDE에서 사용하는 디버거 유형이 다른 두 가지가 있습니까? 환경?
-
디버거,
debug
명령 입력을 통해 단계별 컴파일을 수행하고 입력을 확인합니까? (소스 파일 용) -
실행 프로그램을 확인하는 GDB?
또한 인수를 어떻게 전달합니까? GDB? 나는 이것을 알아낼 수없는 것 같다.
나는 pset4를보고 있으며 실행 가능한 “복사본”에서 GDB를 실행하고 입력 및 출력 파일 이름을 전달하려고합니다.
터미널에서 어떻게해야하나요
편집
또한 내 디버거도 항상 중단됩니다.
Answer
터미널에서 인수로 GDB를 실행하려면 –args 매개 변수를 사용하세요.
gdb --args name arg1 arg2 arg3
debug50 (그래픽 디버거) GUI가있는 GDB입니다. GDB는 원래 터미널을 통해 실행되도록 설계되었으며 여전히 그렇습니다. 그래픽 디버거보다 훨씬 더 유연합니다.
- 다음은 GDB에 대한 전체 참조 가이드입니다. https://sourceware.org/gdb/current/onlinedocs/gdb/
- 그리고 여기에 내가 찾은 치트 시트가 있습니다. https://cs.brown.edu/courses/cs033/docs/guides/gdb.pdf
하지만 몇 가지 기본 사항은 다음과 같습니다.
- 단계별 디버깅 :
next (or n)
-
중단 점 설정은
break (or b) [function or line number]
로 수행됩니다. 예 :break main
또는break 20
여기서 “20”은 끊을 줄입니다. -
run (or r)
. -
다음 중단 점으로 건너 뛰려면
continue or c
를 사용하세요. -
GDB 내에서 변수를 인쇄하려면 (
printf()
를 사용하지 않음)print varname
를 입력합니다.
또는 이제 몇 가지 명령을 알고 있으므로 [r]un arg1 arg2 arg3
를 사용하여 몇 가지 인수로 프로그램을 실행할 수 있습니다.
debug50에 문제가있는 경우, debug50 “의 이전 버전이 고장 났고 이제 debug50도 고장난 것 같습니다. 적어도 고칠 수는 없었습니다.
댓글
- 매우 깊이있는 답변에 감사드립니다!. 또 다른 질문은 GDB가 일부 Linux Bash 환경 및 Windows 명령 프롬프트에 사전 설치되어 있습니까?
- GDB는 내가 아는 한 모든 Linux 배포판에 사전 설치되어 있으며 확실히 가장 인기있는 (arch, debian, ubuntu 등.). Windows에서 가져 오려면 Cygwin 또는 MinGW (Linux / GNU / POSIX 도구 및 항목 모음)를 사용해야 할 수 있습니다. ' " 공식 " GDB 다운로드 페이지에서 다운로드 gnu.org/software/gdb 는 실제로 창, 나는 시도하지 않았다 '.