comnic's Dev&Life

[Rust] vs-code에서 rust 디버깅 하기 본문

Rust

[Rust] vs-code에서 rust 디버깅 하기

comnic 2023. 12. 3. 12:25
반응형

Rust 프로그램을 Visual Studio Code에서 디버깅하는 방법에 대해 알아보겠습니다.

1. CodeLLDB 확장 프로그램 설치

먼저 VS Code의 extension을 설치해 줍니다. [CodeLLDB]를 검색해서 아래와 같이 설치해 줍니다.

 

2. 기본 소스 생성

설치가 완료되면 아래와 같이 간단한 소스 코드를 생성합니다.

fn main() {
    let var1: u32 = 100;

    println!("Hello, world!");
    println!("var1: {}", var1);
}

VS Code에서 왼쪽 라인 넘버 옆에 마우스를 가져가시면 브레이크 포인트(중단점)를 찍을 수 있습니다. 클릭하셔서 원하시는 위치에 찍어줍니다.

 

이렇게 준비가 되면, 이제 디버깅을 위한 설정을 해야 합니다.

3. launch.json 설정

  • F5키를 눌러 디버깅을 시도하면 아래와 같이 상단에 표시됩니다. 여기서 LLDB를 클릭합니다.

  • 그러면, launch configuration이 없다고 하면서 디버깅을 할 수 없다고 합니다.

  • 여기서 그냥 OK를 클릭하시면 자동으로 기본 설정 파일이 생성됩니다. 아래는 자동으로 생성된 설정 파일입니다.

  • 설정 파일은 VS Code에서 프로젝트 루트에 .vscode 디렉토리가 만들어지고, 그 안에 launch.json 파일이 생성됩니다.
  • 아래의 예시처럼 launch.json 파일을 설정합니다:
    -------------------------------------------------------------------------------------
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Debug Rust",
                "type": "lldb",
                "request": "launch",
                "program": "${workspaceFolder}/target/debug/your_project_name",
                "args": [],
                "cwd": "${workspaceFolder}",
                "stopAtEntry": false,
                "preLaunchTask": "cargo build",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "cargo build"
            }
        ]
    }
    -------------------------------------------------------------------------------------

  • ${workspaceFolder}/target/debug/your_project_name를 실제 프로젝트 이름으로 변경합니다.
  • "preLaunchTask": "cargo build"는 디버깅을 시작하기 전에 프로젝트를 빌드하는 작업을 수행합니다.

4. 디버깅 시작

아직 build를 하지 않았다면, 먼저 아래와 같이 build를 해야 합니다.

cargo build

build가 정상적으로 이뤄지면 target이라는 디렉토리가 생성됩니다.

이제 다시 F5키를 눌러주면 디버깅이 시작됩니다.

중단점에서 프로그램이 일시 중지되면 디버깅 패널에서 변수 및 스택 정보를 확인할 수 있습니다.

5. 디버깅  도구의 활용

VS Code의 디버깅 도구를 사용하여 변수의 값을 확인하고, 단계별 실행, 다음 중단점으로 이동 등을 수행할 수 있습니다.

이러한 단계를 따르면 VS Code에서 Rust 프로그램을 효과적으로 디버깅할 수 있습니다. 

반응형
Comments