Maintenant, je sais que gdb nous permet de basculer entre les threads en cours d'exécution. Mais, pour plus de commodité, j'aimerais savoir s'il est possible d'avoir autant d'émulateurs de terminaux ouverts que des threads dans l'application, et d'avoir une instance gdb dans chacun de ces émulateurs, chacun lié à un émulateur particulier. fil?Est-il possible d'avoir un thread par instance gdb?
0
A
Répondre
0
et ont une instance gdb dans chacun de ces émulateurs, chacun lié à un fil particulier
Vous ne pouvez pas joindre plusieurs instances de gdb au même processus. Ceci est une limitation de ptrace
syscall utilisé par gdb. De man ptrace:
EPERM The specified process cannot be traced. This could be because
the tracer has insufficient privileges (the required
capability is CAP_SYS_PTRACE); unprivileged processes cannot
trace processes that they cannot send signals to or those
running set-user-ID/set-group-ID programs, for obvious
reasons. Alternatively, the process may already be being
traced, or (on kernels before 2.6.26) be init(1) (PID 1).