

 AWS Cloud9 는 더 이상 신규 고객이 사용할 수 없습니다. AWS Cloud9 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. [자세히 알아보기](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# IDE에서 빌더, AWS Cloud9 러너 및 디버거 작업
<a name="build-run-debug"></a>

*빌더*는 AWS Cloud9 통합 개발 환경(IDE)에 프로젝트의 파일을 빌드하는 방법을 지시합니다. *실행*기는 AWS Cloud9 IDE에 특정 유형의 파일을 실행하는 방법을 지시합니다. 러너는 *디버거*를 사용하여 파일의 소스 코드에서 문제를 찾는 데 도움을 줄 수 있습니다.

 AWS Cloud9 IDE를 사용하여 다음과 같은 방법으로 코드를 빌드, 실행 및 디버깅할 수 있습니다.
+ 빌더를 사용하여 프로젝트의 파일을 빌드합니다. 자세한 내용은 [프로젝트의 파일 빌드](#build-run-debug-build)를 참조하세요.
+ 러너를 사용하여 코드를 실행(선택적으로 디버그)합니다. 자세한 내용은 [기본 빌드, 실행 및 디버그 지원](#build-run-debug-supported)과 [코드 실행](#build-run-debug-run)을 참조하세요.
+ 원래 정의된 방식과 다른 방식으로 코드를 실행(선택적으로 디버그)하도록 기본 제공 러너를 변경합니다. 자세한 내용은 [기본 제공 러너 변경](build-run-debug-change-runner.md)을 참조하세요.
+ 러너를 사용하여 파일 이름, 명령줄 옵션, 디버그 모드, 현재 작업 디렉터리 및 환경 변수의 사용자 지정 조합으로 코드를 실행(선택적으로 디버그)합니다. 자세한 내용은 [실행 구성 생성](build-run-debug-create-run-config.md)을 참조하세요.
+ 자체 빌더 또는 러너를 생성합니다. 자세한 내용은 [빌더 또는 러너 생성](#build-run-debug-create-builder-runner)을 참조하세요.

## 기본 빌드, 실행 및 디버그 지원
<a name="build-run-debug-supported"></a>

 AWS Cloud9 IDE는 여러 언어에 대한 코드 빌드, 실행 및 디버깅을 기본적으로 지원합니다. 전체 목록은 [언어 지원](language-support.md)을 참조하세요.

기본 빌드 지원은 메뉴 모음에서 [**실행(Run)**], [**빌드 시스템**] 및 [**실행(Run**], [**빌드(Build)**] 메뉴 명령을 통해 사용할 수 있습니다. 목록에 없는 프로그래밍 언어 또는 도구에 대한 지원을 추가하려면 [빌더 또는 러너 생성](#build-run-debug-create-builder-runner)을 참조하세요.

기본 실행 지원은 [**실행(Run)**] 버튼과 메뉴 모음에서 [**실행(Run)**], [**다음으로 실행(Run With)**] 및 [**실행(Run)**], [**실행 구성(Run Configurations)**] 메뉴 명령을 통해 사용할 수 있습니다. 목록에 없는 프로그래밍 언어 또는 도구에 대한 지원을 추가하려면 [빌더 또는 러너 생성](#build-run-debug-create-builder-runner) 및 [실행 구성 생성](build-run-debug-create-run-config.md)을 참조하세요.

기본 디버그 지원은 [**디버거(Debugger)**] 창을 통해 사용할 수 있습니다. [**디버거(Debugger)**] 창을 표시하려면 [**디버거(Debugger)**] 버튼을 선택합니다. [**디버거(Debugger)**] 버튼이 표시되지 않으면 메뉴 모음에서 [**창(Window)**], [**디버거(Debugger)**]를 선택합니다.

## 프로젝트의 파일 빌드
<a name="build-run-debug-build"></a>

1. 빌드하려는 코드에 해당하는 파일을 엽니다.

1. 메뉴 모음에서 [**실행, 빌드 시스템(Run, Build System)**]을 선택한 다음 사용할 빌더의 이름을 선택합니다(아직 선택되지 않은 경우). 사용하려는 빌더가 목록에 없으면 이 절차를 중지하고 [빌더 또는 러너 생성](#build-run-debug-create-builder-runner)의 단계를 완료한 후 이 절차로 돌아옵니다.

1. [**실행, 빌드(Run, Build)**]를 선택합니다.

## 코드 실행
<a name="build-run-debug-run"></a>

1. 파일이 아직 열려 있지 않고 선택되지 않은 경우 실행할 코드에 해당하는 파일을 엽니다.

1. 메뉴 모음에서 다음 중 하나를 선택합니다.
   + 가장 일치하는 기본 제공 러너로 코드를 실행하려면 [**실행, 실행(Run, Run)**]을 선택합니다. 에서 찾을 AWS Cloud9 수 없는 경우이 명령은 비활성화됩니다.
   +  AWS Cloud9 마지막으로 사용한 실행 구성으로 코드를 실행하려면 **실행, 마지막 실행**을 선택합니다.
   + 특정 러너로 코드를 실행하려면 [**실행, 다음으로 실행(Run, Run With)**]을 선택하고 러너 이름을 선택합니다. 사용하려는 러너가 목록에 없으면 이 절차를 중지하고 [빌더 또는 러너 생성](#build-run-debug-create-builder-runner)의 단계를 완료한 후 이 절차로 돌아옵니다.
   + 파일 이름, 명령줄 옵션, 디버그 모드, 현재 작업 디렉터리 및 환경 변수의 사용자 지정 조합으로 특정 러너를 사용하여 코드를 실행하려면 [**실행, 실행 구성(Run, Run Configurations)**]을 선택한 다음 실행 구성의 이름을 선택합니다. 표시되는 실행 구성 탭에서 [**러너: 자동(Runner: Auto)**]을 선택하고 사용할 러너를 선택한 다음 [**실행(Run)**]을 선택합니다. 사용하려는 러너가 목록에 없으면 이 절차를 중지하고 [빌더 또는 러너 생성](#build-run-debug-create-builder-runner)의 단계를 완료한 후 이 절차로 돌아옵니다.

## 코드 디버그
<a name="build-run-debug-debug"></a>

1. 코드에 대한 실행 구성 탭에서 [**디버그 모드로 실행(Run in Debug Mode)**]을 선택합니다. 버그 아이콘이 흰색 배경의 녹색으로 바뀝니다. 자세한 내용은 [코드 실행](#build-run-debug-run) 및 [실행 구성 생성](build-run-debug-create-run-config.md)을 참조하세요.

1. 실행 중에 일시 중지할 코드의 중단점을 다음과 같이 설정합니다.

   1. 중단점을 설정할 각 파일을 엽니다.

   1. 파일의 중단점을 설정할 각 지점에서, 줄 번호 왼쪽에 있는 거터의 빈 영역을 선택합니다. 빨간색 원이 나타납니다.

      중단점을 제거하려면 거터에서 기존 중단점을 선택합니다.

      중단점을 제거하는 대신 사용 중지하려면 [**디버거(Debugger)**] 창의 [**중단점(Breakpoint)**]에서 사용 중지할 중단점에 해당하는 상자를 선택 취소합니다. 중단점을 다시 사용하려면 선택 취소한 상자를 선택합니다.

      한 번에 모든 중단점을 사용 중지하려면 [**디버거(Debugger)**] 창에서 [**모든 중단점 비활성화(Deactivate All Breakpoints)**]를 선택합니다. 모든 중단점을 다시 사용하려면 [**모든 중단점 활성화(Activate All Breakpoints)**]를 선택합니다.

      [**디버거(Debugger)**] 창이 표시되지 않는 경우 [**디버거(Debugger)**] 버튼을 선택합니다. [**디버거(Debugger)**] 버튼이 표시되지 않으면 메뉴 모음에서 [**창(Window)**], [**디버거(Debugger)**]를 선택합니다.

1. 실행이 일시 중지되는 지점에서 값을 가져올 조사식을 다음과 같이 설정합니다.

   1. [**디버거(Debugger)**] 창의 [**조사식(Watch Expressions)**]에서 [**여기에 표현식 입력(Type an expression here)**]를 선택합니다.

   1. 조사하려는 표현식을 입력한 다음 `Enter` 키를 누릅니다.

      기존 조사식을 변경하려면 조사식을 마우스 오른쪽 버튼으로 클릭한 다음 [**조사식 편집(Edit Watch Expression)**]을 선택합니다. 변경 내용을 입력한 후 `Enter` 키를 누릅니다.

      기존 조사식을 제거하려면 조사식을 마우스 오른쪽 버튼으로 클릭한 다음 [**조사식 제거(Remove Watch Expression)**]를 선택합니다.

1. [코드 실행](#build-run-debug-run)에서 설명하는 대로 코드를 실행합니다.

실행이 일시 중지될 때마다 표시된 코드(예: 변수)를 포인터로 가리켜 제공되는 관련 정보를 도구 설명에 표시할 수도 있습니다.

# 기본 제공 러너 변경
<a name="build-run-debug-change-runner"></a>

이 단계에서는 기본 제공 러너를 변경하여 원래 정의된 방식과 다른 방식으로 코드를 실행(선택적으로 디버그)할 수 있는 방법을 설명합니다.

1. 메뉴 모음에서 [**실행, 다음으로 실행(Run, Run With)**]을 선택한 후 변경할 기본 제공 러너를 선택합니다.

1. 표시되는 실행 구성 탭에서 [**중지(Stop)**]를 선택하여 러너가 코드를 실행하려고하지 않도록 합니다.

1. [**러너: 내 러너(Runner: My Runner)**]를 선택합니다. 여기서 [**내 러너(My Runner)**]는 변경하려는 러너의 이름입니다. 그런 다음 [**러너 편집(Edit Runner)**]을 선택합니다.

1. 표시되는 [**My Runner.run**] 탭에서 러너의 현재 정의를 변경합니다. [빌더 또는 러너 정의](build-run-debug-define-builder-runner.md)를 참조하세요.

1. **File, Save As(파일, 다른 이름으로 저장)**를 선택합니다. `my-environment/.c9/runners` 디렉터리에 동일한 이름(**My Runner.run**)으로 파일을 저장합니다. 여기서 `my-environment`는 AWS Cloud9 개발 환경의 이름입니다.

**참고**  
기본 제공 러너에 대한 변경 사항은 해당 변경을 수행한 환경에만 적용됩니다. 변경 사항을 별도의 환경에 적용하려면 다른 환경을 연 다음 위의 단계에 따라 해당 기본 제공 러너를 열고 편집하고 동일한 변경 사항을 저장합니다.

# 실행 구성 생성
<a name="build-run-debug-create-run-config"></a>

이 단계에서는 러너를 사용하여 파일 이름, 명령줄 옵션, 디버그 모드, 현재 작업 디렉터리 및 환경 변수의 사용자 지정 조합으로 코드를 실행(선택적으로 디버그)하는 방법을 설명합니다.

메뉴 모음에서 [**실행, 실행 구성, 새 실행 구성(Run, Run Configurations, New Run Configuration)**]을 선택합니다. 표시되는 실행 구성 탭에서 다음을 수행합니다.

1. [**실행(Run)**] 및 [**다시 시작(Restart)**] 옆의 상자에 이 실행 구성의 [**실행, 실행 구성(Run, Run Configurations)**] 메뉴에 표시할 이름을 입력합니다.

1. [**명령(Command)**] 상자에 사용할 사용자 지정 명령줄 옵션을 입력합니다.

1. 이 실행 구성에 러너의 미리 정의된 디버깅 설정을 사용하도록 하려면 [**디버그 모드로 실행(Run in Debug Mode)**]을 선택합니다. 버그 아이콘이 흰색 배경의 녹색으로 바뀝니다.

1. 이 실행 구성에 특정 작업 디렉터리를 사용하도록 하려면 [**CWD**]를 선택하고 사용할 디렉터리를 선택한 다음 [**선택(Select)**]을 선택합니다.

1. 이 실행 구성에 특정 환경 변수를 사용하도록 하려면 [**ENV**]를 선택한 다음 각 환경 변수의 이름과 값을 입력합니다.

이 실행 구성을 사용하려면 실행할 코드에 해당하는 파일을 엽니다. 메뉴 모음에서 [**실행, 실행 구성(Run, Run Configurations)**]를 선택한 다음 이 실행 구성의 이름을 선택합니다. 표시되는 실행 구성 탭에서 [**러너: 자동(Runner: Auto)**]을 선택하고 사용할 러너를 선택한 다음 [**실행(Run)**]을 선택합니다.

**참고**  
생성한 모든 실행 구성은 해당 실행 구성을 생성한 환경에만 적용됩니다. 해당 실행 구성을 별도의 환경에 추가하려면 다른 환경을 연 다음 위의 단계에 따라 해당 환경에서 동일한 실행 구성을 생성합니다.

## 빌더 또는 러너 생성
<a name="build-run-debug-create-builder-runner"></a>

이 단계에서는 자체 빌더 또는 러너를 생성하는 방법을 설명합니다.

1. 빌더를 생성하려면 메뉴 모음에서 [**실행, 빌드 시스템, 새 빌드 시스템(Run, Build System, New Build System)**]을 선택합니다. 러너를 생성하려면 메뉴 모음에서 [**실행, 실행 도구, 새 러너(Run, Run With, New Runner)**]를 선택합니다.

1. 표시되는 빌더 탭([**My Builder.build**]로 표시됨) 또는 러너 탭([**My Runner.run**]으로 표시됨)에서 빌더 또는 러너를 정의합니다. [빌더 또는 러너 정의](build-run-debug-define-builder-runner.md)를 참조하세요.

1. 빌더 또는 러너를 정의한 후 [**파일, 다른 이름으로 저장(File, Save As)**]을 선택합니다. 빌더의 경우, `my-environment/.c9/builders` 디렉터리에 `.build` 확장명으로 파일을 저장합니다. 여기서 `my-environment`는 환경의 이름입니다. 러너의 경우, `my-environment/.c9/runners` 디렉터리에 `.run` 파일 확장명으로 파일을 저장합니다. 여기서 `my-environment`는 환경의 이름입니다. 지정한 파일 이름은 [**실행, 빌드 시스템(Run, Build System)**] 메뉴(빌더의 경우) 또는 [**실행, 다음으로 실행(Run, Run With)**] 메뉴(러너의 경우)에 표시되는 이름이 됩니다. 따라서 다른 파일 이름을 지정하지 않는 한 기본적으로 표시 이름은 **My Builder**(빌더의 경우) 또는 **My Runner**(러너의 경우)가 됩니다.

이 빌더 또는 러너를 사용하려면 [프로젝트의 파일 빌드](#build-run-debug-build) 또는 [코드 실행](#build-run-debug-run)을 참조하세요.

**참고**  
생성하는 모든 빌더 또는 러너는 해당 빌더 또는 러너를 생성한 환경에만 적용됩니다. 해당 실행 빌더 또는 러너를 별도의 환경에 추가하려면 다른 환경을 연 다음 위의 단계에 따라 해당 환경에서 동일한 빌더 또는 러너를 생성합니다.

# 빌더 또는 러너 정의
<a name="build-run-debug-define-builder-runner"></a>

이 주제에서는 빌더 또는 러너를 정의하는 방법을 설명합니다. 빌더 또는 러너를 정의하기 전에 [빌더 또는 러너를 생성](build-run-debug.md#build-run-debug-create-builder-runner)했는지 확인합니다.



표시되는 빌더 또는 러너 탭에서 JSON을 사용하여 러너 또는 빌더를 정의합니다. 다음 코드를 템플릿으로 사용하여 시작합니다.

빌더의 경우 이 코드로 시작합니다.

```
{
  "cmd": [],
  "info": "",
  "env": {},
  "selector": ""
}
```

러너의 경우 이 코드로 시작합니다.

```
{
  "cmd": [],
  "script": "",
  "working_dir": "",
  "info": "",
  "env": {},
  "selector": "",
  "debugger": "",
  "debugport": ""
}
```

앞의 코드에서:
+  `cmd`:가 단일 명령으로 실행 AWS Cloud9 되도록 쉼표로 구분된 문자열 목록을 나타냅니다.

  이 명령을 AWS Cloud9 실행하면 목록의 각 문자열이 단일 공백으로 구분됩니다. 예를 들어 AWS Cloud9 는 `"cmd": [ "ls", "$file", "$args"]`로 실행되며`ls $file $args`, 여기서 AWS Cloud9 는를 현재 파일의 전체 경로`$file`로 바꾸고를 파일 이름 뒤에 입력된 인수`$args`로 바꿉니다. 자세한 내용은 이 섹션의 뒷부분에 나오는 지원되는 변수 목록을 참조하세요.
+  `script`: 러너가 터미널에서 실행하는 bash 스크립트(가독성을 위해 필요에 따라 줄 배열로 지정할 수도 있음)를 나타냅니다.
+  `working_dir`: 러너가 실행될 디렉터리를 나타냅니다.
+  `info`: 실행 시작 시 사용자에게 표시할 텍스트 문자열을 나타냅니다. 이 문자열에는와 같은 변수가 포함될 수 있습니다. `Running $project_path$file_name...`여기서 AWS Cloud9 는를 현재 파일의 디렉터리 경로`$project_path`로 바꾸고를 현재 파일의 이름 부분`$file_name`으로 바꿉니다. 이 섹션의 뒷부분에 나오는 지원되는 변수 목록을 참조하세요.
+  `env`:가 사용할 명령줄 인수의 배열 AWS Cloud9 을 나타냅니다. 예를 들면 다음과 같습니다.

  ```
  "env": {
    "LANG": "en_US.UTF-8",
    "SHLVL": "1"
  }
  ```
+  `selector`:이 러너 AWS Cloud9 에 적용되는 파일 이름을 식별하는 데 사용할 정규식을 나타냅니다. 예를 들어 Python 파일의 경우 `source.py`로 지정할 수 있습니다.
+  `debugger`:이 러너와 호환되는 AWS Cloud9 사용 가능한 디버거의 이름을 나타냅니다. 예를 들어 V8 디버거의 경우 `v8`으로 지정할 수 있습니다.
+  `debugport`: 디버깅 중에 AWS Cloud9 사용할 포트 번호를 나타냅니다. 예를 들어 사용할 포트 번호로 `15454`를 지정할 수 있습니다.

다음 표에는 사용할 수 있는 변수가 나와 있습니다.


****  

|  **변수**  |  **설명**  | 
| --- | --- | 
|   `$file_path`   |  현재 파일의 디렉터리(예: `/home/ec2-user/environment` 또는 `/home/ubuntu/environment`)  | 
|   `$file`   |  현재 파일의 전체 경로(예: `/home/ec2-user/environment/hello.py` 또는 `/home/ubuntu/environment/hello.py`)  | 
|   `$args`   |  파일 이름 뒤에 입력된 인수(예: `"5" "9"`)  | 
|   `$file_name`   |  현재 파일의 이름 부분(예: `hello.py`)  | 
|   `$file_extension`   |  현재 파일의 확장명(예: `py`)  | 
|   `$file_base_name`   |  파일 확장명을 제외한 현재 파일의 이름(예: `hello`)  | 
|   `$packages`   |  패키지 폴더의 전체 경로  | 
|   `$project`   |  현재 프로젝트 폴더의 전체 경로  | 
|   `$project_path`   |  현재 프로젝트 파일의 디렉터리(예: `/home/ec2-user/environment/` 또는 `/home/ubuntu/environment/`)  | 
|   `$project_name`   |  파일 확장명을 제외한 현재 프로젝트 파일의 이름(예: `my-demo-environment`)  | 
|   `$project_extension`   |  현재 프로젝트 파일의 확장명  | 
|   `$project_base_name`   |  파일 확장명을 제외한 현재 프로젝트 파일의 이름  | 
|   `$hostname`   |  환경의 호스트 이름(예: `192.0.2.0`)  | 
|   `$hostname_path`   |  프로젝트 파일의 상대 경로를 사용한 환경의 호스트 이름(예: `https://192.0.2.0/hello.js`)  | 
|   `$url`   |  환경에 액세스하기 위한 전체 URL(예: `https://192.0.2.0.`)  | 
|   `$port`   |  환경에 할당된 포트(예: `8080`)  | 
|   `$ip`   |  환경에 대해 프로세스를 실행할 IP 주소(예: `0.0.0.0`)  | 

예를 들어 `G++.build`라는 다음 빌더 파일은 `-o` 옵션을 사용하여 ** `g++` **명령을 실행하여 현재 파일(예:`hello.cpp`)을 객체 모듈로 컴파일하는 GCC의 빌더를 정의합니다. 그런 다음 객체 모듈을 현재 파일(예: `hello`)과 같은 이름의 프로그램에 연결합니다. 여기서 이에 해당하는 명령은 `g++ -o hello hello.cpp`입니다.

```
{
  "cmd": [ "g++", "-o", "$file_base_name", "$file_name" ],
  "info": "Compiling $file_name and linking to $file_base_name...",
  "selector": "source.cpp"
}
```

또 다른 예로서, `Python.run`이라는 다음 러너 파일은 Python을 사용하여 제공된 인수로 현재 파일을 실행하는 러너를 정의합니다. 예를 들어 현재 파일의 이름이 `hello.py`이고 인수 `5` 및 `9`가 제공된 경우 해당하는 명령은 `python hello.py 5 9`입니다.

```
{
  "cmd": [ "python", "$file_name", "$args" ],
  "info": "Running $file_name...",
  "selector": "source.py"
}
```

마지막으로, `Print Run Variables.run`이라는 다음 러너 파일은 사용 가능한 각 변수의 값을 출력한 다음 중지하는 러너를 정의합니다.

```
{
  "info": "file_path = $file_path, file = $file, args = $args, file_name = $file_name, file_extension = $file_extension, file_base_name = $file_base_name, packages = $packages, project = $project, project_path = $project_path, project_name = $project_name, project_extension = $project_extension, project_base_name = $project_base_name, hostname = $hostname, hostname_path = $hostname_path, url = $url, port = $port, ip = $ip"
}
```