GDB 调试器在 std::thread 生成时崩溃

问题描述

enter image description here

我编写了一个带有多个线程的 C++ 程序,并且它始终运行正常。就在我在 Linux 虚拟机上使用 QtCreator 时,程序在生成一个线程时崩溃了 my_thread = new std::thread(workerThread,arg); 使用调试器时。 如果我在没有调试的情况下运行程序,线程会正确生成并且程序会继续运行(我尝试使用一些日志消息)。我认为这是平台的问题,因为我没有在某处更改代码并且它不适用于任何线程。 有人知道可能是什么问题吗?

解决方法

在qt的bug报告部分发现了同样的问题,似乎是一个普遍的问题。 https://bugreports.qt.io/browse/QTCREATORBUG-25438 Tools>Options>Debugger>GDB 并将“handle SIGSTOP nostop pass”写入调试器启动命令使 gdb 跳过错误,但 dows 对我来说似乎不是永久解决方案