gpt4 book ai didi

c - 覆盖 glibc 崩溃

转载 作者:太空狗 更新时间:2023-10-29 16:08:44 26 4
gpt4 key购买 nike

所以当 glibc 崩溃时,它有一条 *glibc detected * 崩溃消息。然后它会打印一堆回溯,比如

*** glibc detected *** ./odin: free(): invalid pointer: 0xbfba4444 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(+0x6b161)[0xb75f9161]
/lib/tls/i686/cmov/libc.so.6(+0x6c9b8)[0xb75fa9b8]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0xb75fda9d]
/usr/lib/libstdc++.so.6(_ZdlPv+0x1f)[0xb77da2ef]

一切都很好,但在其他情况下,当事情崩溃时,我一直在执行 backtrace() 然后使用对 addr2line 的系统调用并在函数中打印实际点。但是当 glibc 崩溃时,它会退出绕过我调用的任何信号处理程序。

有没有办法阻止这些 glibc 崩溃?

最佳答案

这是内存功能的一个选项,您可以使用 mallopt 切换它。 .听起来你想将 M_CHECK_ACTION 设置为零以允许执行继续,除非你希望程序立即退出,在这种情况下查看 2 是否允许你做你想做的。

这个小程序会产生正常的 glibc 错误:test1.c
这个忽略错误并继续:test2.c
这一个因错误而中止:test3.c

关于c - 覆盖 glibc 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10190500/

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