跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 一个 C++程序调试问题
未分類
23 11 月 2020

一个 C++程序调试问题

一个 C++程序调试问题

資深大佬 : typetraits 3

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

  • 資深大佬 : wutiantong

    栈爆了又不是 bug,有啥好分析的?
    128k 太小就用 256k 好啦,相比 1m 不是已经优化了 75%了么?

  • 主 資深大佬 : typetraits

    @wutiantong 就是想调试一下看看栈的使用情况,毕竟 goroutine 默认栈大小只有 8KB

    不过想了一下确实优化意义不大,数据不放在分配的这个栈上,也是直接放进堆里,该用的内存一点不会少

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具