GDB: переключиться на поток при достижении точки останова - PullRequest
0 голосов
/ 04 января 2019

Я установил точку останова в многопоточном подчиненном.Любой из потоков может достичь точки останова.Когда достигается точка останова, я бы хотел, чтобы gdb переключился на поток, который ее ударил.

В настоящее время я уведомлен о том, что бп поражен.Затем я должен посмотреть на верхний фрейм стека каждого потока, чтобы узнать, какой он был, например:

(gdb) info threads
(gdb) thread apply all bt 1 full
(gdb) thread 2

Я бы хотел, чтобы это переключение было автоматическим.

1 Ответ

0 голосов
/ 04 января 2019

Я бы хотел, чтобы это переключение было автоматическим.

GDB уже должен делать это автоматически, см. документацию :

Всякий раз, когда GDB останавливает вашу программу из-за точки останова или сигнала, он автоматически выбирает поток, в котором произошла эта точка останова или сигнал.GDB предупреждает вас о переключении контекста с помощью сообщения, такого как «[Переключение на поток n]», чтобы идентифицировать поток.

Помимо уведомления о достижении точки останова, вы также должны быть уведомлены о переключении надругая тема.

...