>

현재 Linux에서 Visual Studio Code를 사용하여 C ++를 디버깅했습니다.

샘플 프로젝트에는 다음과 같은 launch.json 가 있습니다. :

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

main.c를 성공적으로 컴파일하고 실행 했으므로 디버깅이 제대로 작동합니다.

디버거를 시작하면 화살표 아래에 파란색 로딩 바가 나타나고 아무 일도 일어나지 않습니다. 정확히 동일한 구성으로 랩톱에서 로딩 막대가 몇 초 후에 사라지고 디버거가 시작됩니다.

ps aux 를 보면서  두 가지 새로운 프로세스를 볼 수 있습니다.

<올>
  • mono.linux-x86_640   /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/mono.linux-x86_64 --config /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/framework/config.linux /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/bin/OpenDebugAD7.exe 명령으로

  • bash   bash /home/guyyst/.vscode/extensions/ms-vscode.cpptools-0.20.1/debugAdapters/OpenDebugAD7 명령으로

  • 노트북에서 디버깅하면 동일한 프로세스가 생성되지만 실제로 디버깅이 시작되면 사라집니다. VSCode를 닫은 후에도 내 PC의 두 프로세스가 계속 작동합니다. 이 사실을 처음 발견했을 때 이전 시도에서 15 개 이상의 사본이 실행되었습니다.

    이 모든 것이 어제 잘 작동했으며 그 이후로 구성을 변경 한 것을 기억하지 않습니다.

    AUR 버전 visual-studio-code-bin 를 통해 VSCode를 여러 번 다시 설치하려고했습니다.  또는 오픈 소스 패키지 code .

    일부 Python 코드를 디버깅하면 정상적으로 작동했습니다.

    • 답변 # 1

      externalConsole 를 설정하는 것만 큼 쉬웠습니다  와이즈 비즈   launch.json 로 . 아마도 전에 시도해 보았을 것입니다.

      저는 VSCode 콘솔로 제한되어 있습니다.

      외부 콘솔에서 작동하지 않는 이유를 여전히 설명 할 수는 없습니다. 그것이 여전히 랩톱에서 작동하고 PC에서도 작동하기 때문입니다.

      false

    관련 자료

  • 이전 swing - 업데이트 쿼리가 성공적으로 실행되었지만 netbeans의 Java 데이터베이스에있는 테이블이 update 문으로도 업데이트되지 않습니다
  • 다음 java - 숫자 15로 나눌 수있는 간격 [0,360)에서 난수를 생성하십시오