一个 C++程序调试问题
資深大佬 : typetraits 3
一个 RPC 服务,用了 boost.context 实现了用户态协程,默认给每个协程分配 1M 栈大小,现在打算测试减小栈大小从而降低内存占用,减小到 128K 时程序出现随机崩溃,猜测是此时栈爆了,但是无法回溯完整的调用栈(调试器中最多回溯到 boost.context 中的 trampoline 处)。
然后想到了 AddressSantizer,https://clang.llvm.org/docs/AddressSanitizer.html 看起来是支持栈越界检测的,但是奇怪的是该程序开启 AddressSantizer 后就不再崩溃了,现在很懵,不知道该怎么调试确定问题
然后想到了 AddressSantizer,https://clang.llvm.org/docs/AddressSanitizer.html 看起来是支持栈越界检测的,但是奇怪的是该程序开启 AddressSantizer 后就不再崩溃了,现在很懵,不知道该怎么调试确定问题
大佬有話說 (2)