我正在用gdb调试多线程C ++程序。这是我想要实现的调试流程:
disable
命令禁用[断点] 但是,当我多次调用打印系统状态的函数时,数据结构的值会改变。除非我有其他类型的错误,否则这意味着我的打印功能正在运行时其他线程也在运行。
问题:
call
命令时其他线程是否继续执行
在gdb中? call
自检程序状态时,保持线程暂停
命令?答案 0 :(得分:1)
请参阅@KostasRim的评论-set scheduler-locking on
实现了所需的行为(https://sourceware.org/gdb/onlinedocs/gdb/All_002dStop-Mode.html)。默认情况下,其他线程在步进,函数调用等过程中运行。