OpenDebugAD7 process does not exit when its input is closed
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 58/100
Línea de trabajo
Run the supplied bash reproducer against OpenDebugAD7 and inspect its input-close and thread-lifetime handling. Confirm the expected process-exit behavior and verify that OpenDebugAD7, GDB, and the debuggee no longer remain alive after input closes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When the OpenDebugAD7 input is closed, the program does not exit and instead stays alive doing nothing, which also keeps GDB and the debuggee alive.
Reproducer:
#!/bin/bash
# Usage: ./repro.sh /path/to/OpenDebugAD7
# Leaves the processes running. Kill OpenDebugAD7 afterwards.
send() { printf 'Content-Length: %d\r\n\r\n%s' ${#1} "$1"; }
{
send '{"seq":1,"type":"request","command":"initialize","arguments":{"adapterID":"cppdbg","pathFormat":"path"}}'
send '{"seq":2,"type":"request","command":"launch","arguments":{"program":"/bin/sleep","args":["12345"],"cwd":"/","MIMode":"gdb"}}'
send '{"seq":3,"type":"request","command":"configurationDone"}'
sleep 5
} | "$1" &> /dev/null &
sleep 15
pgrep -a -x OpenDebugAD7;
pgrep -a -x gdb;
pgrep -a -f 'sleep 12345'
This is because the remaining threads are treated as foreground threads, and so keep the program alive. One solution is to mark them as background threads. Another is to handle closed input as if the user had sent a disconnect request.
- Lenguaje dominante
- C#
- Estrellas
- 859
- Forks
- 233
- Merge medio
- 4 d 14 h
- PR fusionados (30 d)
- 3
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Sin 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.
Más de microsoft/MIEngine
-
When debugging multiple inferiors with gdb, if one inferior exits the full debug session stopsAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
-
question
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
MiEngine fails to start GDB 17Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
Todos los issues de microsoft/MIEngine
Issues similares
-
[i18n] 安装实例完成后的成功提示未正确本地化Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
PCL-Community/PCL-CE#3658 ·
Los mantenedores suelen responder en 1 día
-
Deploy & Patch-issues opprettes ikke: create-pnd-issues.yml har feilet hver uke siden 2025-09-08Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Altinn/altinn-auth#4359 ·
Los mantenedores suelen responder en 1 día
-
アプリ: チャット 優先: 中 提案
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
yksr-melt/Meltype#243 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
type/automation type/tech-debt
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
High-DPI fixes for release/1.3: editor toolbar icons and Color Picker layout (patch included)Abiertono-stack-trace
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día