2013-01-07 35 views
1

我在Windows上運行流星,可能在這裏少數。我搜索並找到了Linux和Mac的解決方案,但沒有人爲Windows提供解決方案。也許有人可以幫忙?在節點檢查器的窗口服務器端的流星調試

首先我修改C:\Program Files (x86)\Meteormeteor.bat文件包含--debug在其他帖子中提到:

@echo off&&"%METEOR_PATH%\bin\node.exe" --debug "%METEOR_PATH%\app\meteor\meteor.js" %* 

我開始了我的節點檢查並獲得參觀0.0.0.0:8080/debug?port=5858開始調試

然後我的指令開始了我的流星應用程序,但當我去http://127.0.0.1:8080/debug?port=5858時,我看到了兩個正方形:一個用於腳本,另一個用於控制檯。選擇腳本時沒有出現。

Windows是否與Linux有相同的問題,產生兩個進程,但只有一個帶有調試標誌?

+0

當我提起meteor時,我可以看到node-inspector正確連接到它,「調試器在端口5858上偵聽」,並確認我在調試器模式下調用了Meteor。但我仍然沒有看到腳本圖標中的任何內容。 – Jules

+0

我注意到,當我開始流星時,它開始了兩個過程,就像在Linux中一樣。當我殺死第二個進程時,它會自動重新啓動它。當我殺死第一個進程時,應用程序剛剛退出。但是與Linux不同的是,通過殺死第二個進程並不會使它在節點檢查器中顯示服務器端腳本。 – Jules

+0

現在切換到Chrome我會看到所有Meteor腳本,但不是我自己的。這與使用Firefox運行相比有所改進,但不能幫助我進行調試。 – Jules

回答

0

版本0.5.3添加了將這些參數直接傳遞給節點的NODE_OPTIONS環境變量。

那麼火了你最喜歡的js調試像節點檢查 假設你已經安裝,請撥打

node-inspector 

然後

set NODE_OPTIONS = --debug 
meteor 

做這個項目文件夾裏面,你也可以使用--debug-brk立即開始破解

在Chrome中打開本地主機:8080在新標籤中

玩得開心

+0

這使我確切地知道我在哪裏。根據Windows Meteor的Tom Wijsman,我將需要修改此文件並進行其他更改,以使我的代碼可在節點檢查器https://github.com/meteor/meteor/blob/master/app/server/server中查看。 js#L92 – Jules

+0

因此,您可以啓動調試器但無法看到您的代碼?在版本> = 0.5.3中,您不必更改代碼即可進行調試。如果您可以訪問調試器,那麼這意味着標誌正在正確傳遞到節點子進程,或者調試器正在附加到另一個也具有--debug標誌的節點進程。使用像Process Explorer這樣的程序來監視進程參數,你應該有3個node.exe進程,1個用於node-inpector,1個用於meteor.js,並且在這個2個子進程下面,mongo.exe和1個節點用於你的項目。確保這是設置了調試標誌的那個。 –

+0

是的,有三個node.exe進程。一個用於node.inspector,另一個用於流星。我獨立於流星運行mongodb。 -debug進程附加到流星進程。我的問題如下: 1.我的應用程序(第三方供應商)是否需要支持調試標誌才能正常工作2.如果不是,我該如何將調試標誌附加到我的應用程序中? – Jules