JetBrains IDE에서의 디버깅
이 장에서는 JetBrains RustRover를 사용하여 Tauri 앱의 코어 프로세스를 디버깅하는 방법을 설명합니다. 이 내용은 다른 JetBrains IDE인 IntelliJ와 CLion에도 거의 동일하게 적용됩니다.
프로젝트에서 어떤 프론트엔드 스택을 사용하느냐에 따라 프로젝트 디렉토리가 “Cargo 프로젝트”가 될 수도 있고 아닐 수도 있습니다. 기본적으로 Tauri는 “Rust 프로젝트”를 src-tauri
라는 하위 디렉토리에 배치합니다. Rust가 프론트엔드 개발에도 사용되는 경우에만 루트 디렉토리에 “Cargo 프로젝트”가 생성됩니다.
만약 프로젝트 디렉토리의 최상위에 Cargo.toml
파일이 없다면, Cargo 프로젝트를 수동으로 추가해야 합니다. Cargo 도구 창을 열고(메인 메뉴에서 View | Tool Windows | Cargo 선택), 도구 모음의 +(Attach Cargo Project)를 클릭하여 src-tauri/Cargo.toml
파일을 선택하십시오.
또는 다음 파일을 프로젝트의 루트 디렉토리에 추가하여 최상위 Cargo 워크스페이스를 수동으로 만들 수도 있습니다:
[workspace]members = ["src-tauri"]
다음으로 진행하기 전에 프로젝트가 완전히 로드되었는지 확인하십시오. “Cargo 도구 창”에 워크스페이스의 모듈과 대상이 모두 표시되면 준비가 된 것입니다.
다음 두 가지 “실행/디버그” 설정을 각각 수행해야 합니다:
- 하나는 디버그 모드에서 Tauri 앱을 시작하기 위한 것
- 다른 하나는 선택한 프론트엔드 개발 서버를 실행하기 위한 것입니다.
- 메인 메뉴에서 “Run | Edit Configurations”(실행 | 설정 편집)으로 이동합니다.
- “Run/Debug Configurations”(실행/디버그 설정) 대화 상자에서:
- 새로운 설정을 만들려면 도구 모음(왼쪽)의 **+**를 클릭하고 Cargo를 선택합니다.
설정 파일이 생성되면 RustRover의 설정을 수행하고 기본 기능 없이 앱을 빌드하도록 Cargo에 지시해야 합니다. 이렇게 하면 Tauri는 디스크에서 데이터(자산)를 읽는 대신 지정한 개발 서버를 사용하게 됩니다. 일반적으로 이 플래그는 Tauri CLI에 의해 전달되지만, 여기서는 Tauri CLI를 전혀 사용하지 않으므로 수동으로 플래그를 전달해야 합니다.
여기서 옵션으로 “실행/디버그 설정”의 이름을 더 기억하기 쉬운 것으로 변경할 수 있습니다. 이 예에서는 “Run Tauri App”이라는 이름을 붙였지만, 원하는 이름을 붙일 수 있습니다.
위의 설정에서는 Cargo를 직접 사용하여 Rust 애플리케이션을 빌드하고 디버거를 연결합니다. 이 설정에서는 Tauri CLI의 사용이 완전히 회피되므로 beforeDevCommand
나 beforeBuildCommand
와 같은 기능은 실행되지 않습니다. 개발 서버는 수동으로 실행해야 합니다.
이를 위한 “Run/Debug Configuration”(실행/디버그 설정)을 만들려면 실제로 사용 중인 개발 서버를 확인해야 합니다. src-tauri/tauri.conf.json
파일을 찾아 다음 줄을 찾으십시오:
"beforeDevCommand": "pnpm dev"
패키지 관리자가 npm
, pnpm
또는 yarn
인 경우, npm의 “Run/Debug Configuration” 설정 창을 사용할 수 있습니다. 다음은 예입니다:
Command(명령), Scripts(스크립트) 및 Package Manager(패키지 관리자) 각 필드에 올바른 값이 입력되었는지 확인하십시오.
개발 서버가 Rust 기반 WebAssembly 프론트엔드 프레임워크용 trunk
인 경우, 범용 Shell Script의 “Run/Debug Configuration”(셸 스크립트 실행/디버그 설정) 창을 사용할 수 있습니다.
디버그 세션을 시작하려면 먼저 개발 서버를 시작하고 “Run Configurations Switcher”(실행 설정 스위처) 옆에 있는 디버그 버튼을 클릭하여 Tauri 앱의 디버깅을 시작해야 합니다. RustRover는 프로젝트 내의 Rust 파일에 설정된 중단점을 자동으로 인식하고 첫 번째 중단점에 도달하면 중지합니다.
이 중단점에서 변수 값을 조사하고 코드를 더 자세히 살펴보고 실행 시에 무슨 일이 일어나고 있는지 자세히 확인할 수 있습니다.
【※ 이 한국어판은, 「Jul 23, 2024 영문판」에 근거하고 있습니다】
© 2025 Tauri Contributors. CC-BY / MIT