2011-02-10 43 views
1

我有一個Windows服務,並且我在Onstart服務的方法中寫入Debugger.Attach()。 當我開始服務時,我得到一個彈出窗口,要求選擇調試器實例。 當我選擇並按下確定,視覺工作室進入焦點,但顯示「沒有符號已加載」消息。調試windows服務給出沒有符號已經加載消息

+0

你調試問題相關它是服務中的一種服務,還是調試邏輯,這在控制檯程序中很容易實現? – 2011-02-10 13:57:12

回答

9

我跟着這裏http://geekswithblogs.net/dbutscher/archive/2007/06/26/113472.aspx

兩個步驟 1,從而在Visual Studio調試,點擊調試>窗口>模塊。 IDE將停靠一個「模塊」窗口,顯示已爲您的項目加載的所有模塊。 查找您的項目的DLL,並檢查它的符號狀態。 如果它說符號加載,那麼你是金。如果它表示無法找到或打開PDB文件,請右鍵單擊模塊,選擇Load Symbols,然後瀏覽到PDB的路徑。

頁轉到調試 - >選項和設置 - > 調試節點下 - >一般... ...取消選中「只是我的密碼」複選框

和它的工作...

+0

哪個進程爲了調試窗口服務而附加? – Gaurav123 2013-09-19 21:10:03

1

當我正在運行的項目的構建與VS當前加載的構建不完全匹配時,我最常見到這個問題。例如,我構建了我的VS項目,然後對項目中的文件進行了一些(任何)更改並保存而不用重新構建。然後,如果我運行可執行文件/服務/ DLL,則先前構建的版本將運行,並且因爲它與我在VS中的版本(感謝我的代碼更改)不匹配,所以它不會正確附加。

這種情況下的特定問題是VS調試PDB文件與調試不可能的源代碼不匹配。

這可能不是你的問題,但我已經看到無數次的「無符號...」錯誤,它通常是執行的代碼不匹配VS中的代碼的情況。