天天看點

pomelo遠端調試

pomelo雖然可以跨平台運作,但強烈建議在linux下運作,在windows下,一堆坑,像我這種初學者,根本無法填滿,在linux下,都沒發現有坑要填,一點就能運作。平時我的開發平台是windows,是以就涉及到遠端調試,檢視了相關文檔,都不完整,現在總結下,友善大家使用。

1、遠端伺服器需要兩個端口,一個是node js的調試端口,這裡我們取預設端口5858,但這個隻能本地調試,需要通過balance建立端口轉發,轉發端口我們取6000

下載下傳balance源代碼,把balance.c檔案中 if defined(IPV6_V6ONLY)

...

endif 之間的代碼注釋掉,重新make,然後make install。然後開啟balance,指令為 balance -df 6000 127.0.0.1:5858 具體參考:http://nodejs.netease.com/topic/532910fc1077981a4fa49c60

2、遠端伺服器上找到pomelo的服務配置檔案,在服務配置資訊後面添加"args":["--debug=5858","--expose_debug_as=v8debug"],具體參考:http://nodejs.netease.com/topic/515251b97f53b3d3330025c7

3、遠端伺服器啟動pomelo,本地伺服器webstorm裡建立遠端node js 調試,遠端IP寫遠端伺服器的IP位址,端口寫6000,這樣就可以調試了。

4、坑主要是運作作業系統要選linux,然後args的多參數寫法

pomelo是采用多服務模式,每個服務一個程序,是以需要對想調試的程序(服務)添加調試參數 --debug=5858,這個5858是你想調試的端口,官方的文檔是通過在配置檔案裡添加 "args":"--debug=5858",但實際遠端連接配接時,會提示v8debug is not definedd的錯誤,原因是啟動時沒有添加 --expose_debug_as=v8debug,這個官方網站有個問題,沒有寫明args如何應對多參數,如果傻傻"args":"--debug=5858 --expose_debug_as=v8debug",會導緻調試綁定的位址不對,即控制台顯示debugger listening on X.X.X.X:5858,正常應該是debugger listening on 127.0.0.1:5858,這是因為輸入參數解析不正确,改成"args":["--debug=5858","--expose_debug_as=v8debug"]。

繼續閱讀