|
|
1
2
要回答您的问题:是的,您应该能够使用gdb调试多个线程。这取决于并行设计是否合理。 您的线程访问的数据可能存在竞争条件。正常运行程序时可能不会显示问题,但附加调试器会更改计时和调度。即使如此,当segfault发生时,您也应该能够使用调试器来中断。了解发生这种情况的地方可以告诉你种族状况或腐败,无论是什么情况。 这是值得研究的,因为即使它在大多数“运行时”条件下不会发生,它也可能在不同的系统负载条件下出现。 |
|
|
2
0
您是从多个线程调用qt的绘图代码吗?(特别是小部件方法) http://doc.qt.nokia.com/4.3/threads.html#reentrancy-and-thread-safety 看起来qt就像gtk+,您应该只从一个线程(特别是主线程)中接触gui内容。 我对qt还不太熟悉,无法给您提供如何更改代码的建议,但我建议将其更改为基于事件的(即呈现开始于对事件的响应,完成后在主线程中触发事件,每个线程都有自己的主循环),这样您就可以完全避免互斥和同步。 |
|
|
Wolfspirit · 你如何确定一个时间点是否在一个时间段内? 2 年前 |
|
|
h-swell · QT——如何使用布局类? 2 年前 |
|
|
LeftFrog · Qt中macOS上的按钮颜色不变 2 年前 |
|
|
Bobby · Qt是否与RAII设计模式不兼容? 2 年前 |
|
|
Harvey · 如何更改Qt Creator配置项目的默认套件? 2 年前 |