vscode-cpptools icon indicating copy to clipboard operation
vscode-cpptools copied to clipboard

Debugger launched executable seems not able to access wsl command

Open RabbitSeries opened this issue 6 months ago • 0 comments

Environment

  • OS and version: Windows 11
  • VS Code: 1.100.2
  • C/C++ extension: [email protected]
  • OS and version of remote machine (if applicable):
  • GDB / LLDB version: GNU gdb (GDB) 16.2

Bug Summary and Steps to Reproduce

Bug Summary:

The program launched by debugger seems not able to use wsl. Same as #13110, manually executing the program in the same/other integrated terminal works, external works.

Access is denied. 
Error code: Wsl/Service/E_ACCESSDENIED

Image

Image

Steps to reproduce:

  1. Open a folder
  2. Create code:
  3. F5 choose detected task "C/C++: g++.exe build active file", auto-generated a tasks.json under ./.vscode
  4. Open redirected outputs Code:
#include <bits/stdc++.h>
using namespace std;
void closePipe(FILE *pipe)
{
    if (pipe)
    {
        pclose(pipe);
    }
}
int main(int argc, char *args[])
{
    auto pipe = popen("wsl --shell-type none -- ls . 1>pipe1 2>&1", "r");
    closePipe(pipe);
    auto pipe2 = popen("wsl --shell-type none -- ls . 1>pipe2 2>&1", "r");
    closePipe(pipe2);
    auto pipe3 = popen("dir . 1>pipe3  2>&1", "r");
    closePipe(pipe3);
    return 0;
}

Debugger Configurations

tasks.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe build active file",
            "command": "D:\\Build_Tool_Lib\\x86_64-15.1.0-release-win32-seh-msvcrt-rt_v12-rev0\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}


launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}",
            "externalConsole": false,
            "cwd": "${fileDirname}",
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\Build_Tool_Lib\\x86_64-15.1.0-release-win32-seh-msvcrt-rt_v12-rev0\\mingw64\\bin\\gdb.exe",
            "logging": {
                "engineLogging": true,
                "trace": true,
                "traceResponse": true
            }
        }
    ]
}

Debugger Logs

Console logs

C/C++ outputs:
Launch configuration:
{
  "name": "(gdb) Launch",
  "type": "cppdbg",
  "request": "launch",
  "program": "C:\\Users\\rabbit\\Desktop\\CPPTools/Hello",
  "externalConsole": false,
  "cwd": "C:\\Users\\rabbit\\Desktop\\CPPTools",
  "MIMode": "gdb",
  "miDebuggerPath": "D:\\Build_Tool_Lib\\x86_64-15.1.0-release-win32-seh-msvcrt-rt_v12-rev0\\mingw64\\bin\\gdb.exe",
  "logging": {
    "engineLogging": true,
    "trace": true,
    "traceResponse": true
  },
  "__configurationTarget": 6
}

Other Extensions

No response

Additional Information

No response

RabbitSeries avatar May 27 '25 14:05 RabbitSeries