microsoft / microsoft/vscode-cpptools

Debug multi-process application problem

Abierto
#4,189 9 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

debugger help wanted
Lenguaje dominante
TypeScript
Estrellas
6.2k
Forks
1.7k
Merge medio
14 h 46 min
PR fusionados (30 d)
61

Descripción

I'm trying debug multi-process app. So, I do it:

  1. Start Debugging (F5)
  2. Type in Debug Console -exec attach <pid>, <pid> -- is process id of child from ps aux | grep appname
  3. However, I get error:
-exec attach 3331
Unable to perform this action because the process is running.
  1. So, I guessed that I should set debugging to pause. Pressed Pause (F6), and got following error:
-exec attach 3331
A program is being debugged already.  Kill it? (y or n) [answered Y; input not from terminal]
...
Thread 1 "kamailio" stopped.
0x00007ffff76a9912 in __libc_pause () at ../sysdeps/unix/sysv/linux/pause.c:30
ERROR: Error while trying to enter break state. Debugging will now stop. GDB exited unexpectedly.
The program '/home/marat/work_folder/kamailio-git/build/sbin/kamailio' has exited with code 42 (0x0000002a).

ERROR: GDB exited unexpectedly. Debugging will now abort.

-exec set follow-fork-mode child is not suitable I think, because application has more than 1 child processes.
And how I can fix it?

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza reproduciendo el flujo de trabajo F5/F6 en la Debug Console con -exec attach <pid> contra una aplicación con varios procesos secundarios. Investiga cómo la extensión C/C++ de VS Code y GDB gestionan la conexión mientras el programa iniciado está ejecutándose y entra en estado de interrupción. Se considera completado cuando la depuración de varios procesos ya no hace que GDB termine inesperadamente, o cuando se documentan el flujo de trabajo compatible y la limitación.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp, vscode
Área
developer-experience, devtools
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.