VS Code에서의 디버깅
이 장에서는 Tauri 앱의 코어 프로세스를 디버깅하기 위한 VS Code 설정에 대해 설명합니다.
vscode-lldb
확장 기능을 설치하십시오.
.vscode/launch.json
파일을 만들고 다음 JSON 콘텐츠를 붙여넣습니다:
{ // VS Code의 IntelliSense 입력 지원 기능을 사용하여 사용 가능한 속성에 대해 알아보십시오. // 마우스를 기존 속성 위에 놓으면 해당 설명이 표시됩니다. // 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=830387을 참조하십시오. "version": "0.2.0", "configurations": [ { "type": "lldb", "request": "launch", "name": "Tauri Development Debug", "cargo": { "args": [ "build", "--manifest-path=./src-tauri/Cargo.toml", "--no-default-features" ] }, // `beforeDevCommand`의 작업을 사용하는 경우, `.vscode/tasks.json`에서 설정해야 합니다. "preLaunchTask": "ui:dev" }, { "type": "lldb", "request": "launch", "name": "Tauri Production Debug", "cargo": { "args": ["build", "--release", "--manifest-path=./src-tauri/Cargo.toml"] }, // `beforeBuildCommand`의 작업을 사용하는 경우, `.vscode/tasks.json`에서 설정해야 합니다. "preLaunchTask": "ui:build" } ]}
이제 cargo
를 직접 사용하여 Rust 애플리케이션을 빌드하고 개발 모드와 프로덕션 모드 모두에서 로드할 수 있습니다.
즉, Tauri CLI를 사용하지 않으므로 CLI 고유의 기능은 실행되지 않습니다. beforeDevCommand
및 beforeBuildCommand
스크립트는 사전에 실행하거나 위와 같이 preLaunchTask
필드에서 작업으로 설정해야 합니다. 다음은 개발 서버를 시작하는 beforeDevCommand
작업과 beforeBuildCommand
작업 두 가지를 포함하는 .vscode/tasks.json
파일의 예입니다:
{ // tasks.json 형식에 대한 문서는 // https://go.microsoft.com/fwlink/?LinkId=733558을 참조하십시오. "version": "2.0.0", "tasks": [ { "label": "ui:dev", "type": "shell", // `dev`는 백그라운드에서 실행이 계속됩니다. // 이상적으로는 `problemMatcher`도 설정해야 합니다. // https://code.visualstudio.com/docs/editor/tasks#_can-a-background-task-be-used-as-a-prelaunchtask-in-launchjson을 참조하십시오. "isBackground": true, // 이 부분을 자신의 `beforeDevCommand`에 맞게 변경합니다: "command": "yarn", "args": ["dev"] }, { "label": "ui:build", "type": "shell", // 이 부분을 자신의 `beforeBuildCommand`에 맞게 변경합니다: "command": "yarn", "args": ["build"] } ]}
이제 src-tauri/src/main.rs
나 다른 Rust 파일에 중단점을 설정하고 F5
를 눌러 디버깅을 시작할 수 있습니다.
“Visual Studio Windows Debugger”는 Windows 전용 디버거로, 일반적으로 vscode-lldb
보다 빠르며 열거형(enums)과 같은 일부 Rust 기능 지원도 우수합니다.
C/C++ 확장 기능을 설치하고 https://code.visualstudio.com/docs/cpp/config-msvc#_prerequisites에 따라 Visual Studio Windows Debuger를 설치하십시오.
{ // VS Code의 IntelliSense 입력 지원 기능을 사용하여 사용 가능한 속성에 대해 알아보십시오. // 마우스를 기존 속성 위에 놓으면 해당 설명이 표시됩니다. // 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=830387을 참조하십시오. "version": "0.2.0", "configurations": [ { "name": "Launch App Debug", "type": "cppvsdbg", "request": "launch", // 실행 파일(exe) 이름을 실제로 사용하는 exe 파일 이름으로 변경하십시오. // "릴리스 빌드"(공개판)를 디버깅하려면 `target/debug`를 `release/debug`로 변경하십시오.) "program": "${workspaceRoot}/src-tauri/target/debug/your-app-name-here.exe", "cwd": "${workspaceRoot}", "preLaunchTask": "ui:dev" } ]}
Tauri CLI는 사용되지 않으므로 CLI 고유의 기능은 실행되지 않습니다. tasks.json
은 lldb
의 경우와 동일하지만, 시작 전에 항상 컴파일하고 싶다면 설정 그룹을 추가하여 자신의 preLaunchTask
를 launch.json
에서 tasks.json
으로 타겟팅해야 합니다.
다음은 개발 서버(beforeDevCommand
에 해당)와 컴파일(cargo build
)을 그룹으로 실행하는 사례입니다. 이를 사용하려면 launch.json
의 preLaunchTask
설정을 dev
(또는 그룹에 붙인 이름)로 변경합니다.
{ // tasks.json 형식에 대한 문서는 // https://go.microsoft.com/fwlink/?LinkId=733558을 참조하십시오. "version": "2.0.0", "tasks": [ { "label": "build:debug", "type": "cargo", "command": "build", "options": { "cwd": "${workspaceRoot}/src-tauri" } }, { "label": "ui:dev", "type": "shell", // `dev`는 백그라운드에서 실행이 계속됩니다. // 이상적으로는 `problemMatcher`도 설정해야 합니다. // https://code.visualstudio.com/docs/editor/tasks#_can-a-background-task-be-used-as-a-prelaunchtask-in-launchjson을 참조하십시오. "isBackground": true, // 이 부분을 자신의 `beforeBuildCommand`에 맞게 변경합니다: "command": "yarn", "args": ["dev"] }, { "label": "dev", "dependsOn": ["build:debug", "ui:dev"], "group": { "kind": "build" } } ]}
【※ 이 한국어판은, 「Jul 23, 2024 영문판」에 근거하고 있습니다】
© 2025 Tauri Contributors. CC-BY / MIT