boost::coroutine 无法显示调用栈

(金庆的专栏)

一例因 boost::format() 格式化参数个数错误造成的 coredump,
因为使用了 boost::coroutine, 无法显示异常时的调用栈,
仅显示了异常的类型:

#0  raise()
#1  abort()
#2  __gnu_cxx::__verbose_terminate_handler()
#3  ??
#4  std::terminate()
#5  __cxa_throw()
#6  boost::exception_detail::clone_impl<
      boost::exception_detail::error_info_injector<
        boost::io::too_many_args> >::rethrow()
    at /usr/include/boost/exception/exception.hpp:466
#7  boost::rethow_exception()
    at /usr/include/boost/exception/detail/exception_ptr.hpp:458
#8  boost::coroutine::detail::coroutine_base_resume<
      void(), boost::coroutines::detail::coroutine_base<void()>, void, 0>
        ::resume(void)
    at /usr/include/boost/coroutine/v1/detail/coroutine_base_resume.hpp:57
#9  boost::coroutines::detail::coroutine_op<void(),
      boost::coroutines::coroutine<void(), 0>, void, 0>::operator()(void)
    at /usr/include/boost/coroutine/v1/detail/coroutine_op.hpp:46
#10 PlayerCoro::operator()
    at /home/jinqing/mnt/code/server/loginserver/PlayerCoro.h

boost::coroutine 无法显示调用栈的更多相关文章

  1. Python 显示调用栈

    Python调试不如强类型的语言方便,显示调用栈有时非常必要,inspect模块很好用 import inspect inspect.stack() inspect.stack()返回的是一个函数栈帧 ...

  2. 在WinDBG中查看调用栈的命令

    命令 ========== k k命令显示的是一定数量的栈帧, 其中帧的数量是由.kframes命令来控制的, 默认值是256. kp 5 显示调用栈中前5个函数以及他们的参数. kb 5 显示调用栈 ...

  3. 由STL所想到的 C++显示调用析构函数

    在STL中的容器中的析构函数中,会经常调用destroy()这个函数 在STL中  destroy()被重载了 这点在这里到不去讨论 这里贴最简单的那个版本 template<class T&g ...

  4. Linux下手动获取当前调用栈

    被问到如何手动获取当前的调用栈,之前碰到过一时没记起来,现在回头整理一下. 其原理是:使用backtrace()从栈中获取当前调用各层函数调用的返回地址,backtrace_symbols()将对应地 ...

  5. Android群英传》读书笔记 (4) 第八章 Activity和Activity调用栈分析 + 第九章 系统信息与安全机制 + 第十章 性能优化

    第八章 Activity和Activity调用栈分析 1.Activity生命周期理解生命周期就是两张图:第一张图是回字型的生命周期图第二张图是金字塔型的生命周期图 注意点(1)从stopped状态重 ...

  6. Android群英传笔记——第八章:Activity与Activity调用栈分析

    Android群英传笔记--第八章:Activity与Activity调用栈分析 开篇,我们陈述一下Activity,Activity是整个应用用户交互的核心组件,了解Activity的工作模式,生命 ...

  7. 关于c++显示调用析构函数的陷阱

    版权声明:欢迎转载,注明出处就好!如果不喜欢请留言说明原因再踩哦,谢谢,我也可以知道原因,不断进步!!   目录(?)[+]   一.文章来由 现在在写一个项目,需要用到多叉树存储结构,但是在某个时候 ...

  8. C++中new的用法及显示调用析构函数

    最近被问到了C++内存池的问题,其中不免涉及到在指定内存地址调用对象构造函数以及显示调用对象析构函数的情况. C++中new的用法 new是C++中用于动态内存分配的运算符,在C语言中一般使用mall ...

  9. Windows下获取Dump文件以及进程下各线程调用栈的方法总结(转)

    1. Dump文件的用途 Dump文件, 主要用于诊断一个进程的运行状态,尤其是碰到崩溃(Crash)或者挂起(hang)不响应时,需要分析它的工作状态.  除了平时常见的attach到这个进程, 分 ...

随机推荐

  1. UDA机器学习基础—误差原因

    1.模型误差产生的原因 (1)模型无法表示基本数据的复杂度,而造成偏差. (2)因模型对训练它所用到的数据过度敏感造成的方差. 2.由偏差造成的误差--准确率和欠拟合 有足够数据表示模型,但是由于模型 ...

  2. Docker 基础 : Dockerfile

    Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义的镜像.我们会先介绍 Dockerfile 的基本结构及其支持的众多指令,并具体讲解通过执行指令来编写 ...

  3. IE6浏览器有哪些常见的bug,缺陷或者与标准不一致的地方,如何解决

    IE6不支持min-height,解决办法使用css hack: .target { min-height: 100px; height: auto !important; height: 100px ...

  4. Xcode8 添加PCH文件

    转自默默desire 1.)  打开你的Xcode工程. 在Supporting Files目录下,选择 File > New > File > iOS > Other > ...

  5. windows下将mysql加入环境变量

    path添加C:\program files\mysql\bin 即可

  6. 【转】动态规划DP

    [数据结构与算法] DP 动态规划 介绍 原创 2017年02月13日 00:42:51 最近在看算法导论. DP全称是dynamic programming,这里programming不是编程,是一 ...

  7. Bootstrap 遮罩层实现方式

    直接上代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <me ...

  8. python打造一个分析网站SQL注入的脚本

    前言: 昨天晚上其实就已经写完代码.只不过向FB投稿了,打算延迟一晚上在写博客 所有才到今天早上写.好了,接下来进入正题. 思路: 1.从网站源码中爬取那些类适于:http://xxx.com/xx. ...

  9. xshell连接centos与ubuntu

    操作系统:Windows 7 应用软件:Ware Workstation &Xshell 5 Linux:CentOS 7 Minimal &Ubuntu Server 16 ==== ...

  10. Gradle 1.12用户指南翻译——第46章. Java 库发布插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...