我想調試我的erlang項目,並且在我的工作中遇到了一些問題。調試Erlang程序時的一些建議(在Erlide上)
我的項目的目標是在互聯網上玩紙牌遊戲。現在,我只是在同一臺計算機上運行所有的線程(4個客戶端和服務器),而且我無法深入瞭解我的程序的正確性。首先,如果我把不同的斷點,然後我一步一步來看看發生了什麼,我的代碼似乎工作,但如果我刪除所有斷點一些線程退出,原因「終止」或「殺害」。也許原因與邏輯的線程,因此:
- 當因線程退出「終止」,當它退出的「封殺」?
一個非常奇怪的是,當我刪除所有斷點,線程的執行過程中退出:我想在這裏發佈關於線程結束的2所描述
io:format()
,因爲它不解釋很多出口的理由是:
<0.215.0>
[exit, {terminated,[{io,format,[#Pid<[email protected]>,"Super election...~n,
[]],[]},{client,loop,5,[{file,"client.erl"},{line,74}]}]}]
comunication_core_manager:init(#Port<[email protected]>, #Pid<[email protected]>)
<0.221.0>
[exit, {terminated,[{io,format,[#Pid<[email protected]>,"Super election...~n",[]],[]},
{client,loop,5,[{file,"client.erl"},{line,74}]}]}]
comunication_scheduler_manager:loop(#Port<[email protected]>, #Pid<[email protected]>,
{state,{[],[]},{dict,0,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}},[],[],1,20})
現在我的問題是:
- 我如何獲得有關這些描述的有用信息?
- 爲什麼我會遇到io的問題:format()?也許有一些僵局?
當然,在您看來,所有其他的建議表示讚賞,因爲我不是調試親..
編輯:所有線程都開始spawn_link。