远道debug调试
官方:
/lib/debugger-3.2.6/doc/html/debugger_chapter.html#id58850
看了此文档,也没有找到怎么使用。不知道没提供还是我没找到。
1.11 Debugging Remote Nodes
By using debugger:start/1, it can be specified if Debugger should be started in local or global mode.
debugger:start(local | global)
If no argument is provided, Debugger is started in global mode.
------------------下面是另一个方案-----------------------------------------------------
来自
李存刚的测试
第1步:配置从本地机器ssh免登录的远程节点所在服务器
第2步:在远程节点上配置kernel属性,或者直接写一个config文件:[ {kernel, [{start_boot_server, true} , {boot_server_slaves, [{192,168,0,107}]}]} ].说明:通过erlang_boot_server:start/1启动boot server,通过erl_boot_server:add_slave/1加载一个slave,也就是允许连接本机从而加载代码的client,{192,168,0,107}是我测试客户端的IP地址
第3步:在远程节点上启动boot_server 例如:erl -name a@192.168.0.132 -setcookie abc -config bserver #
第4步: 启动本地调试节点 erl -name b@192.168.0.107 -setcookie abc -loader inet -hosts "192.168.0.132" -id a第5步: 在本地调试节点b@192.168.0.107 启动 debugger > debugger:start(). 然后在打开的界面 通过sftp选择文件,然后在本地节点 运行应用调试即可。
看来他的测试,使我想起了
Erlang集群节点集合的启动注意的问题
翻出来一个看差不多。节点顺利启动成功。
远程: erl -kernel start_boot_server true boot_server_slaves '[{192,168,1,8}]' -name master@192.168.1.11 -setcookie abc
在本地打开 打开im().看到能装载文件,兴奋了一会。
这是发现在远程运行程序,本地debug断点不起作用。需要在本地运行才可以。
试了好几次都不可以。
疑问:加载过来的代码在什么地方存储的? 》》》加载到虚拟机????
erlc +debug_info foo.erl