Cloud9의 IDE 환경에서 GDB가 작동하는 방식에 대한 설명이 필요합니다.

IDE에서 사용하는 디버거 유형이 다른 두 가지가 있습니까? 환경?

  • 디버거, debug 명령 입력을 통해 단계별 컴파일을 수행하고 입력을 확인합니까? (소스 파일 용)

  • 실행 프로그램을 확인하는 GDB?

또한 인수를 어떻게 전달합니까? GDB? 나는 이것을 알아낼 수없는 것 같다.

나는 pset4를보고 있으며 실행 가능한 “복사본”에서 GDB를 실행하고 입력 및 출력 파일 이름을 전달하려고합니다.

터미널에서 어떻게해야하나요

편집

또한 내 디버거도 항상 중단됩니다.

Answer

터미널에서 인수로 GDB를 실행하려면 –args 매개 변수를 사용하세요.

gdb --args name arg1 arg2 arg3

debug50 (그래픽 디버거) GUI가있는 GDB입니다. GDB는 원래 터미널을 통해 실행되도록 설계되었으며 여전히 그렇습니다. 그래픽 디버거보다 훨씬 더 유연합니다.

하지만 몇 가지 기본 사항은 다음과 같습니다.

  • 단계별 디버깅 : 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 는 실제로 창, 나는 시도하지 않았다 '.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다