当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

erlang输出调用栈信息

发表于: 2015-07-01   作者:wudixiaotie   来源:转载   浏览:
摘要: 在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。 也可以用这个函数:erlang:get_s

在erlang otp的开发中,如果调用第三方的应用,会有有些错误会不打印栈信息,因为有可能第三方应用会catch然后输出自己的错误信息,所以对排查bug有很大的阻碍,这样就要求我们自己打印调用的栈信息。用这个函数:erlang:process_display (self (), backtrace).需要注意这个函数只会输出到标准错误输出。

也可以用这个函数:erlang:get_stacktrace ().平时调用他总是打印出空的数组,

这个函数只能在有异常的情况才能调用:

    try
        throw (asdf)
    catch
        R ->
            io:format ("=============~p~n", [erlang:get_stacktrace()]),
            io:format ("=============~p~n", [R])
    end

 

erlang输出调用栈信息

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在这一系列之前的两篇文章中,我介绍了如何在windbg中查看调用栈的相关信息(详见小览call stack(调
近日,在调试某一dump文件时,指定并load了自己dll的pdb文件,但是仍然没能看到相应的调用栈信息。
栈: 在函数调用时,第一个进栈的是主函数中函数调用后的下一条指令(函数调用语句的下一条可执行语
【获取当前栈信息】   System.Diagnostics.StackFrame代表一层栈的信息,System.Diagnostics.Stac
转载请注明出处:http://blog.csdn.net/horkychen 有时在查找问题时,不想中断程序运行就输出一下某
当发生函数调用的时候,栈空间中存放的数据是这样的: 1、调用者函数把被调函数所需要的参数按照与被
参考文章:http://liyiwen.iteye.com/blog/345525 1. 一个函数调用动作可分解为:零到多个 PUSH 指
参考文章:http://liyiwen.iteye.com/blog/345525 1. 一个函数调用动作可分解为:零到多个 PUSH 指
From:http://www.cnblogs.com/killerlegend/p/3916937.html Author:KillerLegend Date:2014.8.16 这
 在发生段错误的时候,打印函数的调用栈信息是定位问题很好的手段,一般来讲,我们可以捕获SIGS
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号