Search…
디버그
파일을 저장하거나 빌드했을 때 문법적인 오류가 발견된다면, 에디터의 붉은색 아이콘 위에 마우스를 올려보거나 하단 레이아웃의 아웃풋 탭에서 에러 또는 경고 메세지를 읽어볼 수 있습니다. 다음과 같이 에러가 발생했을 때, 원인을 찾기 위해서 디버그를 수행할 수 있습니다.
현재 구름에서 디버그를 지원하는 프로그래밍 언어는 다음과 같습니다.
  • C/C++
  • JAVA
  • Python
  • Ruby

중단점(Breakpoint)

중단점은 디버거가 소스 코드를 읽는 도중 잠시 멈추게 하여, 변수에 어떤 값이 들어가 있는지 확인할 수 있게 도와주는 도구입니다.
중단점을 설정하거나 제거하기 위해서는 멈추고 싶은 코드 줄 왼쪽 빈 공간을 클릭합니다. 다른 방법으로는, [디버그] > [중단점 설정/제거]로 가거나 기본 단축키 Ctrl + B (MAC: ⌘B)를 누릅니다. 또는 에디터에서 우클릭 메뉴를 통해서도 설정할 수 있습니다. 이후 디버깅 모드로 코드를 실행시켰을 때, 디버거는 해당 줄에서 멈춥니다.
중단점으로 설정된 위치들의 목록을 레이아웃 왼쪽에 있는 '디버그'탭 > 중단점에서 확인하실 수 있습니다.

디버깅 모드(Debugging mode)

디버깅 모드로 코드를 실행하기 위해서는 메인 메뉴 [디버그] > [디버그 시작]에서 디버그 할 프로젝트를 선택합니다. 또는 기본 단축키 Alt + F5 (MAC: ⌥F5)를 누르면 최근 디버그했던 프로젝트 디버그를 시작합니다.
또는 좌측 레이아웃의 '디버그' 탭에서
디버그 시작 버튼을 클릭합니다.
디버그가 시작되면 디버그 터미널 창이 뜨게 되며, 이 창에서 디버그가 실행되고 있는 모습을 직접 확인하고 디버그 명령어를 입력할 수도 있습니다.
  • 디버그 시작(Debug): 디버깅 모드를 시작합니다.
  • 디버그 계속(Continue): 다음 중단점으로 넘어갑니다.
  • 스텝 오버(Step Over): 현재 진행 중인 함수 내에서 다음 코드 줄로 이동합니다. 스텝 인과 비슷하지만 스텝 오버는 함수 호출시 멈추지 않습니다.
  • 스텝 인(Step In): 현재 진행 중인 코드 내에서 다음 코드 줄로 이동합니다. 스텝 오버와 비슷하지만 스텝 인은 함수 호출시에도 멈춥니다.
  • 스텝 아웃(Step Out): 선택된 스택이 리턴할 때까지 진행하고 리턴 값이 출력됩니다.
  • 디버그 종료(Terminate): 디버깅 모드를 끝냅니다.
디버깅 모드에서 위과 같은 기능을 사용할 수 있습니다. 해당 기능은 [디버그] > [디버그 계속], [스텝 오버], [스텝 인], [스텝 아웃], [디버그 종료]로 찾아갈 수 있습니다. 또는 기본 단축키 Ctrl + Shift + Y (MAC: ⌘⇧Y), F6, F7, F8, F4를 누릅니다.
에디터에서 디버거가 읽고 있는 줄을 노란색 하이라이팅을 통해 알 수 있으며, 하단 레이아웃의 디버그 탭에서 지역 변수의 이름, 변수에 저장된 값, 변수의 타입 목록을 보여줍니다. 배열이나 객체의 경우 삼각형 아이콘을 눌러서 하위 항목을 확장하여 볼 수 있습니다. 대부분의 플러그인(프로그래밍 언어)에서는 지역 변수 목록에서 변수값을 클릭하여 값을 바로 수정할 수 있는 기능을 제공합니다.

C/C++

  • C/C++ 프로젝트에서 디버깅하는 화면입니다.

JAVA

  • JAVA 프로젝트에서 디버깅하는 화면입니다.

Python

  • Python 프로젝트에서 디버깅하는 화면입니다.

Node.js

  • node.js 는 브라우저의 DevTools를 활용해야 합니다.
1. node 앱 실행 시 --inspect=0.0.0.0:9229 옵션을 붙여서 실행 ex) node --inspect=0.0.0.0:9229 app.js
2. 상단 메뉴 [컨테이너] - [포트포워딩 설정]에서 9229 포트를 추가해주고 IP와 외부 포트 복사
3. Chrome 브라우저의 새 탭을 열고 chrome://inspect 로 접속
4. Discover network targets 오른쪽의 Configure... 를 누르고 2번 단계에서 복사한 IP와 외부 포트를 [IP]:[외부 포트] 형식으로 입력하여 추가
5. Done을 눌러서 나온 뒤 하단 Remote Target에 리스트 된 node 앱을 확인하고 inspect를 눌러 디버그창 접
Last modified 9mo ago