VSCode에서 Nim 디버깅 (단계 실행)

8707 단어 VSCodeNim

개요



(추기) 2018/09/11 Windows, Mac에서도 동작 확인할 수 있었습니다.

VSCode에서 Nim 애플리케이션 디버깅 및 단계를 실행할 수 있습니다.

VSCode에서 디버깅



기사 을 참고로, 우선 자신의 Linux/Windows/Mac 개발 환경에서 시험해 보았습니다.
Nim 버전은 0.18.0입니다.

이하, 설정의 순서가 됩니다.
  • Native-Debug 플러그인 설치
  • 컴파일 작업을 설정하고 컴파일하기
  • 디버그 설정하기
  • 중단 점을 설정하고 디버깅을 수행합니다.

    Native-Debug 플러그인 설치



    확장 프로그램에서 "Native Debug"를 검색하고 설치합니다.
    설치 후에는 VSCode를 다시 시작하는 것이 좋습니다 (아마).



    컴파일 작업 설정



    tasks.json을 만들고 수정합니다.
    "command"로 컴파일 할 대상의 nim 파일 (test.nim)은 적절하게 대체하십시오.
    ctrl+shift+b로 빌드합니다.

    .vscode/tasks.json
    {
        "version": "2.0.0",
        "tasks": [{
            "label": "Build Debug",
            "type": "shell",
            "command": "nim c -d:debug --debuginfo --lineDir:on --debugger:native test.nim",
            "group": {
                "kind": "build",
                "isDefault": true
            },
        }]
    }
    

    디버그 시작 설정하기



    디버그 창을 표시하고 '구성 없음' 오른쪽 옆의 설정 버튼을 클릭하고,
    선택사항 중에서 「C++(GDB/LLDB)」를 선택합니다. (※「GDB」라도 좋을지도 모릅니다.후술)
    (추기 : Windows에서는 선택 사항으로 표시되지 않습니다. "GDB"를 선택하십시오)



    launch.json이 기본적으로 표시되므로 "program"속성의 내용을 빌드 설정 후 생성되는 실행 파일 이름으로 바꿉니다.

    launch.json
    {
        "version": "0.2.0",
        "configurations": [
    
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceFolder}/test",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }
    
    

    GDB를 선택하면 다음과 같은 간단한 시작 항목이 될 것 같습니다.
    Windows에서는 이쪽의 설정이 되었습니다.
    덧붙여서 이쪽에서도 디버그 실행은 할 수 있었습니다.

    .vscode/launch.json
            {
                "type": "gdb",
                "request": "launch",
                "name": "Launch Program",
                "target": "./test",
                "cwd": "${workspaceRoot}"
            },
    

    중단 점을 설정하고 디버깅을 수행합니다.



    소스의 행 번호 왼쪽을 클릭하면 중단점 설정이 토글됩니다.
    그런 다음 다음 방법 중 하나로 디버깅을 시작합니다.
  • F5 키
  • 툴바의 녹색 오른쪽 △ 버튼
  • 메뉴 바의``디버그 '-``디버깅 시작 ''

  • 아래의 캡처 화면에서 중단점에서 중지하고 로컬 변수의 값을 참조할 수 있는지 확인할 수 있습니다.
    (※Nim상의 코드에서 스텝 인하면 C 언어의 소스에 들어가기도 합니다.)



    덧붙여서, 구성의 차이에 의한 디버그시의 특징으로서는 이하의 것이었습니다.
  • C++ (GDB/LLDB)의 경우 다른 터미널이 표시됩니다.
  • GDB의 경우 다른 터미널이 표시되지 않습니다

  • 요약



    VSCode에 의한 Nim의 디버그 (브레이크 포인트 & 스텝 실행 등)가 가능한 것을 확인할 수있었습니다.
    지금까지는, Echo에 의한 디버그만으로 투라탄이었습니다만, 스텝 실행을 할 수 있으면,
    Nim의 공부 효율 및 개발 효율도 꽤 오르는 것이라고 생각합니다.

    이번은 Linux상에서의 디버그 방법의 소개였습니다만, Mac/Windows에서도 할 수 있다고는 생각하기 때문에,
    누군가 도전해 주시면 좋겠습니다.

    (2018/9/11 추가) 리눅스, 윈도우, 맥 모두 동작 확인이 가능했습니다.

    좋은 웹페이지 즐겨찾기