VSCode에서 Nim 디버깅 (단계 실행)
개요
(추기) 2018/09/11 Windows, Mac에서도 동작 확인할 수 있었습니다.
VSCode에서 Nim 애플리케이션 디버깅 및 단계를 실행할 수 있습니다.
VSCode에서 디버깅
이 기사 을 참고로, 우선 자신의 Linux/Windows/Mac 개발 환경에서 시험해 보았습니다.
Nim 버전은 0.18.0입니다.
이하, 설정의 순서가 됩니다.
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}"
},
중단 점을 설정하고 디버깅을 수행합니다.
소스의 행 번호 왼쪽을 클릭하면 중단점 설정이 토글됩니다.
그런 다음 다음 방법 중 하나로 디버깅을 시작합니다.
아래의 캡처 화면에서 중단점에서 중지하고 로컬 변수의 값을 참조할 수 있는지 확인할 수 있습니다.
(※Nim상의 코드에서 스텝 인하면 C 언어의 소스에 들어가기도 합니다.)
덧붙여서, 구성의 차이에 의한 디버그시의 특징으로서는 이하의 것이었습니다.
요약
VSCode에 의한 Nim의 디버그 (브레이크 포인트 & 스텝 실행 등)가 가능한 것을 확인할 수있었습니다.
지금까지는, Echo에 의한 디버그만으로 투라탄이었습니다만, 스텝 실행을 할 수 있으면,
Nim의 공부 효율 및 개발 효율도 꽤 오르는 것이라고 생각합니다.
이번은 Linux상에서의 디버그 방법의 소개였습니다만, Mac/Windows에서도 할 수 있다고는 생각하기 때문에,
누군가 도전해 주시면 좋겠습니다.
(2018/9/11 추가) 리눅스, 윈도우, 맥 모두 동작 확인이 가능했습니다.
Reference
이 문제에 관하여(VSCode에서 Nim 디버깅 (단계 실행)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/6in/items/10325115859c93a1d6ba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)