
Research
/Security News
9 Malicious NuGet Packages Deliver Time-Delayed Destructive Payloads
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.
Integrate valgrind into the default tasks / launch.json workflow in vscode!
The extension provides commands and tasks that can be used to automate valgrind integration into your debugging workflow. Unfortunately valgrind does not exactly fit the VSCode worklflow, but this extension tries it's best to make it fit. The extension is not as fully featured as other cpp extensions (such as cmake tools), but basic valgrind support is implemented.
valgrind must be installed. For linux users, use sudo apt-get install valgrindcmake tools is required for:
valgrind-task-integration.valgrindPid and valgrind-task-integration.valgrindGdbArgvalgrind and valgrind-debugThis extension provides the following commands to be used in tasks and launch configs in the default format ${command:[COMMAND_NAME]}:
valgrind-task-integration.valgrindPid runs valgrind in debugging mode and returns the process pid.
valgrind-task-integration.valgrindGdbArg runs valgrind in debugging mode and returns the arguments to be used in a gdb attach config.
valgrind is a task that runs valgrind in normal mode. It includes a problem matcher for valgrind errors.
valgrind-debug is a task that runs valgrind in debug mode. It includes a problem matcher for valgrind errors.
Both tasks support the following definition parameters:
target: path to the executable to debugvalgrind: valgrind options
args: arguments to be passed to valgrindvalgrind ($valgrind) is a problem matcher that scans the default valgrind output.
valgrind-debug ($valgrind-debug) is a problem matcher that scans the default valgrind debugging output.
A basic example for a launch config in combination with the extension Cmake Tools:
{
"name": "Launch Debugger with valgrind",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [
{
"name": "PATH",
"value": "$PATH:${command:cmake.launchTargetDirectory}"
}
],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Connect to valgrind",
"text": "${command:valgrind-task-integration.valgrindGdbArg}",
"ignoreFailures": true
}
]
}
If only one instance of valgrind is used, the config can also be made more configurable by using the valgrind task in your lauch.json:
{
"name": "Launch Debugger with valgrind",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"preLaunchTask": "valgrind-debug",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [
{
"name": "PATH",
"value": "$PATH:${command:cmake.launchTargetDirectory}"
}
],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Connect to valgrind",
"text": "target remote | vgdb",
"ignoreFailures": true
}
]
}
The task can additionally be configured freely in the tasks.json:
{
"label": "valgrind-debug: custom", // Use "preLaunchTask": "valgrind-debug: custom" in yout launch.json
"type": "valgrind-debug",
"target": "${command:cmake.launchTargetPath}",
"valgrind": {
"args": ["-v"]
}
}
FAQs
Integrate valgrind into vscode tasks and launch config
We found that 1nvitr0.valgrind-task-integration demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.