【问题标题】:VS2013, C++: Unknown "thread X exited with code 0"VS2013,C++:未知的“线程 X 以代码 0 退出”
【发布时间】:2015-07-05 21:16:44
【问题描述】:

我正在 VS2013 上开发一些 Qt 应用程序。有一天,我注意到 Qt 运行时库执行奇怪的 CPU 消耗操作这一事实。首先,我决定它只出现在 Qt 调试库中,并将我的调试配置转为使用 Qt 发布库。但是在调试我的应用程序的过程中,在 VS 输出窗口中观察时,我仍然感到困惑,例如打印:The thread 0xXXXX has exited with code 0 (0x0)。我不明白哪个线程完成了。一旦这个线程已经完成,我如何检测隐藏在这个线程 ID = 0xXXXX 后面的线程?

更新(澄清) 在我的问题中,我的意思是: 1. 是否有可能获取一些关于某个线程 ID 的信息出现在 这样的 VS 打印 2. 有人知道 Qt 可能在这些隐藏线程中执行什么吗?

【问题讨论】:

    标签: c++ visual-studio qt


    【解决方案1】:

    不同的库可能会为不同的目的创建工作线程。

    如果您想进一步调查此问题,请在 VS IDE 中执行以下操作:

    1. 调试 -> 全部中断。这将停止进程中的所有线程
    2. Debug -> Windows -> Threads 获取所有线程的列表。

    通过检查线程的调用堆栈,您可能会了解其用途。

    【讨论】:

    • 这是常见的答案,我知道如何调试进程。我的问题是 a) 是否有可能获得有关出现在此类 VS 打印中的线程 ID 的一些信息 b) 有人知道 Qt 可能在此类隐藏线程中执行什么...
    • @Sergey 也许你应该编辑你的问题并添加它。
    • @Sergey 正如我上面所说:您可以检查线程的调用堆栈以了解它们在做什么。但我认为它不会对你有所帮助——这只是 Qt 内部实现的细节——不受你的影响。
    猜你喜欢
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多