gpt4 book ai didi

c++ - Linux 和 Solaris Unix : Coredump at the end of a function

转载 作者:太空宇宙 更新时间:2023-11-04 09:54:41 24 4
gpt4 key购买 nike

<分区>

我们在重负载条件下非常随机地观察核心转储。当我们加载核心文件并查看核心转储的位置时,它总是指向函数的最后一行,恰好是右大括号的行号。

该函数有一些遗留的 goto 语句。当我们之前遇到类似问题时,我们将所有本地对象的创建移到函数的顶部,这似乎解决了 Solaris Unix 10 上的问题。(我们的怀疑和一些示例测试表明,当执行 goto 语句时,一些这些局部变量从未被创建,但它们的析构函数总是被调用。因此将它们一直移动到顶部确保它们始终被正确构造)。但是这个问题仍然发生在 Linux 上,而我们在 Solaris 上再也看不到这个问题了。

更新了堆栈跟踪:

#0  0x008a5206 in raise () from /lib/libc.so.6

#1 0x008a6bd1 in abort () from /lib/libc.so.6

#2 0x008de3bb in __libc_message () from /lib/libc.so.6

#3 0x00966634 in __stack_chk_fail () from /lib/libc.so.6

#4 0x08e9ebf5 in our_function (this=0xd2f2c380)

at sourcefilename.cc:9887

有人遇到过类似的问题吗?非常感谢任何有助于理解和解决问题的帮助或指示。万分感谢。

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