无法追踪Erlang ct_netconfc模块,ErlyBerly连接ct节点失败求助
调试ct_netconfc模块的问题与工具推荐
问题背景
需要追踪调试ct_netconfc模块的内部逻辑,使用ErlyBerly工具时无法连接到ct节点,请求解决该连接问题,同时希望得到其他可用于调试ct_netconfc及Common Test模块的工具推荐。
环境配置
- 启动命名为node1的Erlang shell:
bhuvan@vm-alarm:~/git/otp$ erl -sname node1
- 在shell中执行Common Test测试命令:
(node1@vm-alarm)1> os:cmd("make common_test_test ARGS=\"-suite ct_netconfc_SUITE\""). [32,77,65,75,69,9,99,111,109,109,111,110,95,116,101,115,116, 10,109,97,107,101,91,49,93,58,32,69,110|...]
- 启动ErlyBerly GUI工具:
bhuvan@vm-alarm:~/git/erlyberly$ java -jar target/*runnable.jar
测试执行过程中,ErlyBerly界面显示存在ct、test_server、node1三个节点。
具体问题
尝试连接ct节点时,弹出错误提示:Cannot connect to the peer node,但使用ErlyBerly、Debugger等工具可以正常追踪非Common Test模块的Erlang应用。
连接失败原因分析与解决办法
常见原因
- Cookie不匹配:Common Test启动的
ct节点会生成独立的Erlang cookie,和手动启动的node1节点cookie不一致,而Erlang节点间通信要求双方cookie完全相同。 - 节点命名格式不一致:
ct节点可能使用全限定域名(如ct@vm-alarm.full.domain),而node1用了短域名(node1@vm-alarm),导致节点名解析不匹配。 - 权限/网络隔离:
ct节点可能运行在不同用户权限下,或者ErlyBerly进程无法访问ct节点的通信端口。
解决步骤
- 同步Cookie:
- 查看
ct节点的cookie:可在Common Test生成的日志文件中查找,或用epmd -names查看节点列表后,通过Erlang shell命令获取。 - 启动
node1时指定相同cookie:erl -sname node1 -setcookie <ct节点的cookie值>,再尝试用ErlyBerly连接。
- 查看
- 统一节点命名格式:
- 启动
node1时使用全限定域名:erl -name node1@vm-alarm.full.domain(替换为实际主机的全限定域名),确保和ct节点命名规则一致。
- 启动
- 手动指定Cookie连接:
- 在ErlyBerly的连接配置界面,手动输入
ct节点的cookie值,再尝试连接。
- 在ErlyBerly的连接配置界面,手动输入
替代调试工具推荐
1. Erlang内置dbg模块
无需额外安装,直接在Erlang shell中使用,适合快速追踪函数调用:
% 启动追踪器 (node1@vm-alarm)1> dbg:tracer(). % 设置追踪所有进程的调用 (node1@vm-alarm)2> dbg:p(all, c). % 追踪ct_netconfc模块的所有函数 (node1@vm-alarm)3> dbg:tpl(ct_netconfc, '_', []).
可通过添加参数过滤特定函数或输出参数,灵活度高。
2. Observer图形化工具
Erlang自带的可视化调试工具,功能全面:
- 启动命令:
observer:start(). - 在“Tracer”标签页中配置追踪规则,可直观查看
ct_netconfc模块的函数调用链、进程状态等信息。
3. redbug轻量追踪工具
轻量级第三方工具,操作简单,适合临时调试:
- 安装后使用:
% 追踪ct_netconfc模块的所有函数调用 redbug:start("ct_netconfc -> _").
支持设置追踪时长、调用次数限制,避免长时间占用系统资源。
4. Common Test内置调试手段
直接在测试套件代码中添加调试逻辑:
- 使用
ct:pal/1打印关键信息到测试日志:ct:pal("Current state: ~p", [State]). - 临时加入
io:format/2输出变量,测试执行时直接在控制台查看结果。
内容的提问来源于stack exchange,提问作者Bhuvan
相关产品推荐
相关产品推荐

