microsoft / microsoft/vscode-cpptools
Running gdbserver as a `preLaunchTask` - need to press start/stop button several times
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 6.2k
- Forks
- 1.7k
- Merge medio
- 14 h 46 min
- PR fusionados (30 d)
- 61
Descripción
- VSCode Version: Code 1.14.0 (b8cd5b9556d8b70ea560d35b903422363f6c5c40, 2017-07-10T20:36:40.018Z)
- OS Version: Linux x64 4.4.0-53-generic
- Extensions:
| Extension | Author (truncated) | Version |
|---|---|---|
| vscode-docker | Pet | 0.0.16 |
| tslint | eg2 | 0.16.0 |
| language-haskell | jus | 2.3.1 |
| cpptools | ms- | 0.12.1 |
| debugger-for-chrome | msj | 3.1.6 |
| cmake | twx | 0.0.17 |
| cmake-tools | vec | 0.10.2 |
| debug | web | 0.20.0 |
| c-cpp-snippets | wlh | 0.1.0 |
Hello. Thank you for the great tool - I'm using vscode/cpptools everyday and happy with it.
Now to the problem. I have the following task in tasks.json:
{
"taskName": "docker build&run",
"linux": {
"args": [
"\"docker run --rm --privileged -p 2222:2222 -v ~/path/:/path/ -w /path/build cpp_tools bash -c 'cmake --build . && gdbserver localhost:2222 ./app'\""
]
},
"group": {
"kind": "build",
"isDefault": true
}
}
As you can see, it starts a docker container that builds an executable and runs gdbserver inside.
Here's my launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) remote",
"type": "cppdbg",
"request": "launch",
"preLaunchTask": "docker build&run",
"program": "${workspaceRoot}/build/app",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}/build",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerServerAddress": "localhost:2222",
"sourceFileMap": {
"/path/": "~/path/"
},
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
I want to build an app and start the debug session with F5 button. The problem is that I need to press F5 twice - the first press builds an app and starts the debug server in docker container and the second press launches my application (which successfully connects). The problem appears both for F5 and Start Debugging button in GUI.
Also I have to press stop button 3 (three) times in order to stop an application (both for Shift+F5 and the Stop button in GUI).
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce el comportamiento utilizando las configuraciones tasks.json y launch.json, pulsando F5 y deteniendo después la sesión como se describe. Empieza trazando el ciclo de vida de preLaunchTask y de la sesión de depuración en la extensión; se considera terminado cuando una pulsación de F5 inicia la tarea y el depurador, y una acción de detención finaliza la aplicación y el servidor.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp, docker
- Área
- developer-experience, devtools
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100