---
title: JetBrains IDE에서의 디버깅
i18nReady: true
---

{/* TODO: Add support to light/dark mode images */}

이 장에서는 JetBrains RustRover를 사용하여 [Tauri 앱의 코어 프로세스](/ko/concept/process-model/#코어-프로세스)를 디버깅하는 방법을 설명합니다. 이 내용은 다른 JetBrains IDE인 IntelliJ와 CLion에도 거의 동일하게 적용됩니다.

## Cargo 프로젝트 설정

프로젝트에서 어떤 프론트엔드 스택을 사용하느냐에 따라 프로젝트 디렉토리가 "Cargo 프로젝트"가 될 수도 있고 아닐 수도 있습니다. 기본적으로 Tauri는 "Rust 프로젝트"를 `src-tauri`라는 하위 디렉토리에 배치합니다. Rust가 프론트엔드 개발에도 사용되는 경우에만 루트 디렉토리에 "Cargo 프로젝트"가 생성됩니다.

만약 프로젝트 디렉토리의 최상위에 `Cargo.toml` 파일이 없다면, Cargo 프로젝트를 수동으로 추가해야 합니다. Cargo 도구 창을 열고(메인 메뉴에서 **View | Tool Windows | Cargo** 선택), 도구 모음의 **+**(**Attach Cargo Project**)를 클릭하여 `src-tauri/Cargo.toml` 파일을 선택하십시오.

또는 다음 파일을 프로젝트의 루트 디렉토리에 추가하여 최상위 Cargo 워크스페이스를 수동으로 만들 수도 있습니다:

```toml title=Cargo.toml
[workspace]
members = ["src-tauri"]
```

다음으로 진행하기 전에 프로젝트가 완전히 로드되었는지 확인하십시오. "Cargo 도구 창"에 워크스페이스의 모듈과 대상이 모두 표시되면 준비가 된 것입니다.

## 실행 구성 설정

다음 두 가지 "실행/디버그" 설정을 각각 수행해야 합니다:

- 하나는 디버그 모드에서 Tauri 앱을 시작하기 위한 것
- 다른 하나는 선택한 프론트엔드 개발 서버를 실행하기 위한 것입니다.

### Tauri 앱

1. 메인 메뉴에서 "**Run | Edit Configurations**"(실행 | 설정 편집)으로 이동합니다.
2. "**Run/Debug Configurations**"(실행/디버그 설정) 대화 상자에서:

- 새로운 설정을 만들려면 도구 모음(왼쪽)의 **+**를 클릭하고 **Cargo**를 선택합니다.

![Add Run/Debug Configuration](@assets/develop/Debug/rustrover/add-cargo-config-light.png)
{/* ![Add Run/Debug Configuration](@assets/develop/Debug/rustrover/add-cargo-config-dark.png#gh-dark-mode-only) */}

설정 파일이 생성되면 RustRover의 설정을 수행하고 기본 기능 없이 앱을 빌드하도록 Cargo에 지시해야 합니다. 이렇게 하면 Tauri는 디스크에서 데이터(자산)를 읽는 대신 지정한 개발 서버를 사용하게 됩니다. 일반적으로 이 플래그는 Tauri CLI에 의해 전달되지만, 여기서는 Tauri CLI를 전혀 사용하지 않으므로 수동으로 플래그를 전달해야 합니다.

![Add `--no-default-features` flag](@assets/develop/Debug/rustrover/set-no-default-features-light.png)
{/* ![Add `--no-default-features` flag](@assets/develop/Debug/rustrover/set-no-default-features-dark.png#gh-dark-mode-only) */}

여기서 옵션으로 "실행/디버그 설정"의 이름을 더 기억하기 쉬운 것으로 변경할 수 있습니다. 이 예에서는 "Run Tauri App"이라는 이름을 붙였지만, 원하는 이름을 붙일 수 있습니다.

![Rename Configuration](@assets/develop/Debug/rustrover/rename-configuration-light.png)
{/* ![Rename Configuration](@assets/develop/Debug/rustrover/rename-configuration-dark.png#gh-dark-mode-only) */}

### 개발 서버

위의 설정에서는 Cargo를 직접 사용하여 Rust 애플리케이션을 빌드하고 디버거를 연결합니다. 이 설정에서는 Tauri CLI의 사용이 완전히 회피되므로 `beforeDevCommand`나 `beforeBuildCommand`와 같은 기능은 **실행되지 않습니다**. 개발 서버는 수동으로 실행해야 합니다.

이를 위한 "Run/Debug Configuration"(실행/디버그 설정)을 만들려면 실제로 사용 중인 개발 서버를 확인해야 합니다. `src-tauri/tauri.conf.json` 파일을 찾아 다음 줄을 찾으십시오:

```json
    "beforeDevCommand": "pnpm dev"
```

패키지 관리자가 `npm`, `pnpm` 또는 `yarn`인 경우, **npm**의 "Run/Debug Configuration" 설정 창을 사용할 수 있습니다. 다음은 예입니다:

![NPM Configuration](@assets/develop/Debug/rustrover/npm-configuration-light.png)
{/* ![NPM Configuration](@assets/develop/Debug/rustrover/npm-configuration-dark.png#gh-dark-mode-only) */}

**Command**(명령), **Scripts**(스크립트) 및 **Package Manager**(패키지 관리자) 각 필드에 올바른 값이 입력되었는지 확인하십시오.

개발 서버가 Rust 기반 WebAssembly 프론트엔드 프레임워크용 `trunk`인 경우, 범용 **Shell Script**의 "Run/Debug Configuration"(셸 스크립트 실행/디버그 설정) 창을 사용할 수 있습니다.

![Trunk Serve Configuration](@assets/develop/Debug/rustrover/trunk-configuration-light.png)
{/* ![Trunk Serve Configuration](@assets/develop/Debug/rustrover/trunk-configuration-dark.png#gh-dark-mode-only) */}

## 디버그 세션 시작

디버그 세션을 시작하려면 먼저 개발 서버를 시작하고 "Run Configurations Switcher"(실행 설정 스위처) 옆에 있는 **디버그** 버튼을 클릭하여 Tauri 앱의 디버깅을 시작해야 합니다. RustRover는 프로젝트 내의 Rust 파일에 설정된 중단점을 자동으로 인식하고 첫 번째 중단점에 도달하면 중지합니다.

![Debug Session](@assets/develop/Debug/rustrover/debug-session-light.png)
{/* ![Debug Session](@assets/develop/Debug/rustrover/debug-session-dark.png#gh-dark-mode-only) */}

이 중단점에서 변수 값을 조사하고 코드를 더 자세히 살펴보고 실행 시에 무슨 일이 일어나고 있는지 자세히 확인할 수 있습니다.

[core process of your tauri app]: /ko/concept/process-model#코어-프로세스

<div style="text-align: right">
  【※ 이 한국어판은, 「Jul 23, 2024 영문판」에 근거하고 있습니다】
</div>
