erlang 小技巧总结

简介: 开一个页面总结一些erlang的使用技巧,随时添加新的技巧。

1. 开一个页面总结一些erlang的使用技巧,随时添加新的技巧。

2.1 .erlang文件

这个文件是erlang启动时会首先执行的批量命令。

erlang shell 启动的时候会现在当前目录下寻找是否有.erlang,没有的话就寻找是否有~/.erlang文件。

init:get_argument(home).  %返回Erlang认为的的主目录,有的时候主目录并不是/home/max

2.2 离线查看文档

erl -man lists
erl -man file

2.3 分析crash

crashdump_viewer:start().

2.4 shell没有反应

Ctrl + G 进入shell JCL (Job Control Language)
可以打开多个shell,可以链接远程的shell (很有用,管理多个远程机器的时候很方便)

2.5 找不到代码路径

1> glurk:oops(120).
** exception error: undefined function glurk:oops/1
原因
1)glurk不存在。
2)没有加到路径里面
3)在路径里,但是选择了一个错误的版本。code:clash()可以查看所在路径里所有重复的模块。

2.6 erlang一行, 像perl一行一样。

erl -eval 'io:format("Memory: ~p~n", [erlang:memory(total)]).' -noshell -s init stop

2.7 dbg 跟踪所有新创建进程的所有函数调用

dbg:tracer().
dbg:p(new, [call]).
dbg:tp({'_', '_', '_'}, []).
相关文章
|
消息中间件 网络协议 Go
[Erlang 0123] Erlang EPMD
 epmd进程和Erlang节点进程如影随形,在Rabbitmq集群,Ejabberd集群,Couchbase集群产品文档中都会有相当多的内容讲epmd,epmd是什么呢?   epmd 是Erlang Port Mapper Daemon的缩写,全称足够明确表达它的功能了(相比之下,OTP就.
2050 0
|
编解码 计算机视觉 存储
|
JavaScript 前端开发 Java
|
网络协议 Shell Go
|
C#
[Erlang 0112] Elixir Protocols
Why Elixir        为什么要学习Elixir?答案很简单,为了更好的学习Erlang.这么无厘头的理由?      Erlang语法设计几乎没有考虑过取悦开发者,所以学习之初的门槛略高.
1207 0