PreLaunchTask correctly waits for background task to wait for client connection, then fails with vague popuop
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
Research direction
Start with the launch.json and tasks.json configurations in the report, then reproduce the flow with pants test --debug-adapter ${file} and the VS Code preLaunchTask. Check the background task's problem matcher and the resulting popup. Done means the preLaunchTask waits as configured and debugpy attaches to the remote configuration.
Written by the indexing model from the issue text.
Description
Environment data
- debugpy version: 1.8.6
- OS and version: MacOS (ARM) 14.6.1
- Python version: 3.10.6
- Using VS Code or Visual Studio: VS Code
Actual behavior
I'm using Pants to run python tests. The program behaves as expected (starts the test with pdb and waits for client connection):
➜ pants test --debug-adapter example_test.py
12:16:25.45 [INFO] Launching debug adapter at '127.0.0.1:5678', which will wait for a client connection...
I would like to use a launch configuration with a preLaunchTask to make debugging easy. However, VS Code does not behave as expected with the background task. I have tried seemingly every possible combination of isBackground, problemMatcher.background, and other fields. Below is what I believe should work according to documentation. When the "Pants: Debug Test" launch configuration is triggered, it calls the correct shell command and correctly waits for the "Launching debug adapter" endPattern to be printed, but then fails with a vague popup
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Pants: Debug Test",
"preLaunchTask": "Pants Debug Test (Current File)",
"type": "debugpy",
"request": "attach",
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "."
}
],
"connect": {
"host": "localhost",
"port": 5678
}
}
]
}
tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "Pants Debug Test (Current File)",
"type": "shell",
"command": "pants test --debug-adapter ${file} ",
"group": "test",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"isBackground": true,
"problemMatcher": {
"owner": "pants",
"source": "pytest",
"fileLocation": "relative",
"background": {
"activeOnStart": true,
"beginsPattern": ".",
"endsPattern": ".*Launching debug adapter.*",
},
"pattern": [
{
"regexp": ".",
"file": 1,
"location": 2,
"message": 3
}
]
}
}
]
}
Expected behavior
PreLaunchTask to run, and debugpy to attach to remote configuraiton
Steps to reproduce:
Above launch.json/task.json and a sample pants project
- Dominant language
- Python
- Stars
- 2.5k
- Forks
- 202
- Avg merge
- 5d 1h
- Merged PRs (30d)
- 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/debugpy
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
All issues in microsoft/debugpy
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
xinnan-tech/xiaozhi-fde-talk#263 ·
-
rules
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
huggingface/Repo2RLEnv#163 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 95/100
huggingface/sentence-transformers#4074 ·
-
comp/dashboard invalid P3
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
NousResearch/hermes-agent#121143 ·