gpt4 book ai didi

c++ - __do_global_ctors 段错误在项目的某处,无法找到它

转载 作者:行者123 更新时间:2023-11-28 06:52:26 27 4
gpt4 key购买 nike

我将一个项目从 Qt4 迁移到 Qt5,它编译了,但在它到达 main 函数之前,除了应用程序之外的所有东西都崩溃了。我知道有一个 null 值在某些时候搞砸了一些东西,也许是一个找不到的文件或什么的,但是有太多的 .cpps 和 .h 和库很难找到错误的来源而且我不能设置任何断点。我有很多调试数据,所以也许你们中的任何人都可以指导我朝着正确的方向前进。老实说,我不知道如果没有堆栈溢出我会做什么,所以提前谢谢你。

调试时我遇到不同的崩溃: enter image description here

enter image description here enter image description here

每种情况下的堆栈显示不同的崩溃,但它们都有一些共同点,就是这个 __do_global_ctors 东西,我已经研究过,显然它与构造函数有关,但我没有知道我应该寻找什么。
如果我遗漏了任何信息,请务必询问。我希望有人能启发我,我非常接近这个工作。

最佳答案

__do_global_ctors()在你的 main() 之前被调用,因为框架需要实例化 main() 的所有全局对象可能会用到。

此方法将为所有静态对象及其组件对象调用构造函数。 IE。所有静态构造函数。

从堆栈跟踪来看,段错误似乎发生在 QGlobalStatic<QMutex, [incomlpete types - see trace for details]> 的构建过程中。对象,这是有道理的。这是由 qRegisterResourceData build 的作为 qInitResources_mimetypes 的一部分.

尝试在 qrc_mimetypes.cpp 中的这个函数中放置一个断点(如果你有源代码),看看你会在哪里。或者查看有关 mimetypes 初始化的 Qt 文档,并确保您已正确指定应用程序的资源。

关于c++ - __do_global_ctors 段错误在项目的某处,无法找到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23693961/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com