提问人:Eyal Ben-Avraham 提问时间:7/5/2023 更新时间:7/5/2023 访问量:18
在 Amazon Linux 2023 上使用 SmartHeap 的 C++,当抛出任何假定被捕获的异常时,SIGSEGV
C++ with SmartHeap on Amazon Linux 2023, SIGSEGV when any exception that suppose to be caught is thrown
问:
具有 SmartHeap 的 C++ 应用程序无法在 Amazon Linux 2023 上引发异常
堆栈回溯跟踪
(gdb) bt
#0 0x00007ffff7cac95c in __gxx_personality_v0 () from /lib64/libstdc++.so.6
#1 0x00007ffff7e9b976 in _Unwind_RaiseException () from /lib64/libgcc_s.so.1
#2 0x00007ffff7cad2fc in __cxa_throw () from /lib64/libstdc++.so.6
#3 0x0000000000400e18 in f(int) ()
#4 0x0000000000400e8c in main ()
ldd ./ii8.out
linux-vdso.so.1 (0x00007fffde0d8000)
libsmartheap_smp64.so => /home/vagrant/ctm_em/lib/libsmartheap_smp64.so (0x00007fb723080000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fb722e00000)
libm.so.6 => /lib64/libm.so.6 (0x00007fb722d25000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fb723060000)
libc.so.6 => /lib64/libc.so.6 (0x00007fb722a00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb72305b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb72319a000)
ls -l /lib64/libstdc++.so.6 LRWXRWXRWX。1 根根 19 Mar 11 03:40 /lib64/libstdc++.so.6 -> libstdc++.so.6.0.29
同一应用程序未与 SmartHeap 链接,但使用本机 malloc 实现按预期工作
任何知道什么会导致这种行为,在最新的运行时修订版中关于EH的更改可以解释SIGSEGV
谢谢 埃亚尔
我确实尝试过 libstdc++.so.6.0.19 并且工作正常,似乎在 libstdc++.so.6.0.29 之间有什么中断
答: 暂无答案
评论