2011-06-30 46 views
1

我有窗口後臺服務使用NServiceBus讀取消息隊列。Debugger.Launch()不工作

我想調試這個窗口服務來跟蹤流程,所以當我運行服務在debuggermode中啓動服務時,在服務類中添加了Debugger.Launch()

現在我想繼續在調試程序時,消息隊列達到其發起RequestDataMessageHandler.cs類。

我想調試這個類,使Debugger.Launch()保持在這個類中。但調試器不啓動。 Handler類從隊列中讀取消息。

會是什麼原因?

+0

您是否嘗試過日誌框架,如NLog或Log4net?當涉及到調試服務器時,它們有很多幫助,並且有多個目標可供寫入。 IE,文件,事件日誌,數據庫,UDP,TCP/IP。 – Jethro

+0

在StackOverflow:[更簡單的方法來開始在C#中調試Windows服務](http://stackoverflow.com/questions/125964/easier-way-to-start-debugging-a-windows-service-in-c) – sll

+1

那麼,它可能* did *工作,因爲你沒有得到一個例外。問題在於它在會話0桌面上顯示了即時調試器選擇對話框。用戶永遠無法達到的那個。沒有解決方法,你必須從你自己的桌面上附加一個調試器。 –

回答

0

似乎調試器已連接,如果調試器已連接Debugger.Launch()不起作用。嘗試使用Debugger.Break(),如果已經連接了調試器,它會中斷。