论坛首页 综合技术论坛

方便调试erlang程序的脚本

浏览 3913 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-08-18  
经常的时候看大型工程的时候 碰到一二个地方实在不明白他是如何运作的 这时候最好的工具就是debugger 如gdb,的backtrace 可以得到完整的函数调用栈。在linux下推荐使用ddd, 俺的centos5 下标准版本没有安装ddd 顺手下载个安装就好了(标准版本却个motif-devel yum下就好)。ddd图形界面方便查看函数和变量,还有点击跳转功能。 附上几个调试erlang的脚本,希望能够方便大家。

1.
[root@test98 ~]# cat gdb_beam
#! /bin/bash

ddd -x gdb.init /usr/local/lib/erlang/erts-5.5.5/bin/beam

2.
[root@test98 ~]# cat gdb.init
set arg -- -root /usr/local/lib/erlang -progname erl -- -home /root

3.
 [root@test98 ~]# tail .bash_profile -n 13

export PATH=$PATH:/usr/local/lib/erlang/erts-5.5.5/bin
ROOTDIR=/usr/local/lib/erlang
BINDIR=$ROOTDIR/erts-5.5.5/bin
EMU=beam
PROGNAME=`echo $0 | sed 's/.*\///'`
export EMU
export ROOTDIR
export BINDIR
export PROGNAME
export EDITOR=vim

export LANG=utf8

上面的脚本是针对beam 的。

如果你要调试beam.smp beam.hybrid 可以erl -smp true +K true -emu_args 得到参数
Executing: /usr/local/lib/erlang/erts-5.5.5/bin/beam.smp /usr/local/lib/erlang/erts-5.5.5/bin/beam.smp -K true -- -root /usr/local/lib/erlang -progname erl -- -home /root -smp true

把以上脚本改下就方便多了。
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics