我使用 GDB 调试多线程进程。
当我在 GDB terminal 中暂停调试以运行某些命令时,如何切换到另一个线程上下文?
当我停止调试时,GDB 总是在主线程上,但我想切换到线程 1234
你可以通过这个命令得到thread_id,比如"helloworld" thread
ps -o comm,tid -T `pgrep your_process_name` | grep helloworld
helloworld 12345
并在 gdb 中查找它的线程号
gdb attach `pgrep your_process_name`
thread find 12345
Thread 3 has target id 'LWP 12345'
然后切换到它
thread 3