Visual Studio Code Fails to find WSL - visual-studio-code

I'm trying to compile some C code in visual studio with gcc using WSL.
I've got a super simple configuration that executes on an F5 Press
"version": "0.2.0",
"configurations": [
{
"name": "Build And Run",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/.vscode/BuildAndRun.bat",
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"externalConsole": true,
"environment": [],
},]
Which then should execute the batch file that contains a simple call to wsl and gcc
#echo off
wsl gcc main.c
pause
When I run this bat file by clicking on it, it works and everything compiles. however when I press F5 I get an error that 'wsl' is not recognized as an internal or external command.
I've tried adding it to Path and that didnt help.
I should also add that when I run the command inside the vs terminal it works, which just confuses me even more.

https://code.visualstudio.com/docs/cpp/launch-json-reference
program (required)
Specifies the full path to the executable the debugger will launch or attach to.
The debugger requires this location in order to load debug symbols
program is the executable for debugger to attach, not compile your code. Compile your C program via preLaunchTask in launch.json and config that command in tasks.json. See https://code.visualstudio.com/docs/cpp/config-mingw for reference.
Also, you may need WSL-Remote plugin and work directly in WSL, See also https://code.visualstudio.com/docs/cpp/config-wsl

Related

Visual code debugger adapter immediately dies when trying to connect to vscode-hack debugger in local launch mode

I am using the vscode-hack extension on visual code studio on macOS Big Sur. My settings.json includes following launch configuration:
"configurations": [
{
"name": "HHVM: Run Script",
"type": "hhvm",
"request": "launch",
"script": "${file}",
"hhvmPath": "/usr/local/bin/hhvm",
"hhvmArgs": ["--mode", "vsdebug", "--vsDebugPort", 8999],
"cwd":"${workspaceFolder}"
}
]
When I try to debug a Hack script in Visual code debugger, Visual code debugger adapter launches and immediately dies. I have verified launching hhvm with the same args from command line, and it works fine. I am following the instructions here https://github.com/slackhq/vscode-hack/blob/master/docs/debugging.md
Does anybody have any suggestions?

Visual Studio Code Debugger not launching

OS and Version: Windows 10 Build 19042.985
VS Code Version: 1.56.2
C/C++ Extension Version: v1.4.0-insiders
other extensions: remote-ssh
I've been working with remote-ssh on a raspberry and c/c++ extension without any issue, all of a sudden I cannot start the debugger. Nothing changed, configuration files are the same as before but now when I start the debugger, I see for a couple of seconds the top debugging bar and then it disappears. No message on the console, nothing.
For this purpose, I created a simple project from scratch, and even there, the same issue appears.
To Reproduce
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/a.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"logging": { "engineLogging": true },
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
]
}
]
}
main.c
#include <stdio.h>
int main(){
printf("ciao\n");
return 1;
}
Compile with gcc -g main.c
As I stated before, this workflow worked for me, from one second to another it stopped working as intended and I have no idea why and how to fix it, any help is appreciated.
What I tried
reinstall vscode
reinstall the c/c++ extension and delete by hand the extension folder
numerous reboots
Updates
I have tried with the wsl-remote extension and it is working as expected.รน
Tried to uninstall gdb from host and launch the debug session, the message "gdb" not found does not even appear as it should
I was in similar situation and couldn't find relevant resolutions:
Quick Answer:
After upgrade to VS Code 1.56.2, make sure to remove old breakpoints and create new breakpoint and at-least have 1 breakpoint and launch.json available.
Lengthy details:
I have similar issue for python scripts when I start the "debugger bar" I see it for a couple of seconds the top debugging bar and then it disappears. Bu then no message on the console, nothing. I tried reinstalling VS Code, enabling/disabling extension, various restart.
OS and Version: Mac OSX Version 11.4 (20F71)
VS Code Version: 1.56.2
Extension: Python v2021.5.842923320 by Microsoft
RootCause:
What I did know for sure that I updated my VS Code, and after that this mysterious issue start happening, so when to release log of VS Code 1.56.2. I found below release log
Debug view displayed on break#
The default value of the debug.openDebug setting is now
openOnDebugBreak so that on every breakpoint hit, VS Code will open
the Debug view. The Debug view is also displayed on first session
start.
So VS code Version 1.56 release, debugger will only show when at-least 1 breakpoint is found. However, looks like there is issue with their internal code checking for historical breakpoint data after VS Code upgrade..
https://code.visualstudio.com/updates/v1_56#_debug-view-displayed-on-break
I had this same issue in python. The fix for python was changing to a valid interpreter due to a python library not being installed. Make sure that the interpreter is correct and then try again.
This may be caused by a faulty installation of the VS Code C/C++ extension. When launching VS Code, if the message "Unable to start the C/C++ language server. IntelliSense features will be disabled" appears, this is probably the cause. Was able to fix the installation in this case by installing a previous version of the C/C++ extension as per this answer.
I had the same problem (though the debug bar would show up for a second and then disappear). I was using a conda env with python 3.6. I updated to 3.8, with the same dependencies, and it started working.

Is it possible to specify the Flutter SDK path for the VSCODE extension?

I am having the setup that my flutter-sdk lives inside the projects root because I am using a version management system (FVM). When I run my programs from the console I run 'fvm flutter run' from the console but I also want to be able to start a debugging session with that SDK in the projects root ...
therefore my question is if it is possible to specify the SDK path for launching a Flutter App in debug mode and if how would i do it?
In vscode press ctrl+shift+p, search for 'set flutter sdk', and you can identify your Flutter installations and dart as well. You can edit this manually also in the settings.json.
You can try this, and create a launch.json, by going to Run in VScode menu, then Add Configurations,
add the following, mind you, your project's directories.
{
"configurations": [
{
"program": "lib/main.dart",
"name": "YOUR APP NAME",
"cwd": "/home/u/Projects/fireflutter/live-projects/YOUR_PROJECT_FOLDER/",
"type": "dart",
"request": "launch",
"flutterMode": "debug",
"args": [
// "--web-port",
// "8080",
// "--no-sound-null-safety",
// pass your arguments here, whatever you would type
//in the terminal when you would use i.e
//flutter run --no-sound-null-safety[I love null safety by the way,
//but this is a common problem for people who still want to opt out of it.
],
}
],
"dart.flutterSdkPath": "/home/u/Downloads/sdks/flutter",
"dart.sdkPath": "/home/u/Downloads/sdks/flutter/bin/dart",
}
If you get an error saying Error: spawn /bin/sh ENOENT, it means that your path is incorrect, and you have to fix either your program or cwd or name. Please update on the result of this.

How to use a remote python interpreter in remote development - ssh in VSCode

Microsoft recently released remote development support for SSH.
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh
However, in python, if you click "select python interpreter". The interpreter available to be chosen is only for a set of python interpreters in anaconda.
The interpreter available to be chosen are in:
~/anaconda3/*
/usr/bin/python
I have a custom python interpreter in a custom location. My interpreter is in ~/projects/myproject/bin/python
How do we configure a remote python interpreter by giving it a path?
Note: I have configured setting.json
"python.pythonPath": "${workspaceFolder}/bin/python",
But it does not seem to respect it
managed to make it work with
update vscode
my files:
# settings.json
{
"python.pythonPath": "/custom/bin/python"
}
# launch.json
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"pythonPath": "${config:python.pythonPath}"
},
...
restarted vscode
F1 -> select Interpreter

Visual Studio Code errors when debugging Rust with "Missing auto-load debug_gdb_scripts"

I installed flatpak Visual Studio Code on Linux Mint. I'm trying to debug the "Hello world app" from the Rust book in VS Code.
src/main.rs:
fn main() {
println!("Hello, world!");
}
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug program",
"type": "gdb",
"request": "launch",
"target": "../target/debug/hello",
"cwd": "${workspaceRoot}"
}
]
}
When I cargo build the program and try to debug it, I get this error in Debug console:
warning: Missing auto-load script at offset 0 in section .debug_gdb_scripts
of file /home/gorn/nextcloud/viptrader/rust/target/debug/hello.
Use `info auto-load python-scripts [REGEXP]' to list them.
Running executable
warning: Error disabling address space randomization: Operation not permitted
I have installed these extensions:
rust-lang.rust
webfreak.debug
The real problem is the Error disabling address space randomization: Operation not permitted. The Missing auto-load script warning you can usually ignore.
The problem is likely caused by virtualization.
Try adding set disable-randomization off into the .gdbinit.
You might also follow this flatpak issue 1301.