2011-09-01 77 views
32

我需要調試從一次單擊安裝啓動的應用程序。 (VS 2010,Excel VSTO與Office 7)。根據提供給單擊安裝程序應用程序的登錄憑據,用戶應該看到兩個啓動頁面之一。這一切在我的機器上都能正常工作,但是在部署時,從默認更改爲第二個啓動頁面會導致錯誤。在代碼中啓動調試器

對於我的生活,我無法弄清楚如何從VS2010內部調試過程。在輸入憑據之前,我可以附加到登錄名,但是我無法附加到Excel,因爲直到我單擊確定按鈕後纔會啓動它。

那麼,有沒有辦法讓Excel,或者說,我的代碼調用調試器,因爲它被實例化,所以我可以找出爲什麼我的圖像資源在部署的應用程序中不可用?

謝謝。

蘭迪

+0

目標機器是否安裝了Visual Studio? –

+0

沒有。這是一個開發服務器,但我相信調試人員必須擁有管理員權限,這不會發生。 – EoRaptor013

+0

好,你已經解決了這個問題,但作爲一個供參考,你不需要管理員權限,你只需要[是你的用戶的'Debugger Users'的成員。](http://msdn.microsoft.com/en- us/library/aa291232%28v = vs.71%29.aspx) –

回答

67
System.Diagnostics.Debugger.Launch(); 
+1

哦......那麼簡單!? ! :)不知道它。 –

+0

是的,並嘗試在文檔中找到它!也許我的Google-fu很弱。 – EoRaptor013

+0

我應該投我一票,不要簡單地看類文檔。好吧。 – EoRaptor013

0

您可以附加到Excel,如果它運行足夠長的時間,但我嚴重懷疑的錯誤是存在的。

你可以附加到運行應用程序/進程,如果符號可用(調試版本),你可以真正調試,但應用程序必須足夠長的時間讓你選擇它來附加。我認爲,根據你所說的,你需要的是正確的異常和錯誤日誌記錄,就像Log4Net或NLog一樣,它在每個異常處都存儲了一切(堆棧跟蹤,異常詳細信息...),所以你可以清楚地知道確定真正的問題是什麼。

+0

錯誤出現在Excel的VSTO加載項中;並且在這個過程中很快發生,在錯誤已經被咬死之前沒有辦法附加到它。再次,我可以從我的機器上運行應用程序而不會出現錯誤。只有那些使用來自dev服務器的應用程序才能看到錯誤。 – EoRaptor013

3

Juan的答案是最好的,如果你有Visual Studio安裝。但是如果目標機器沒有它,你可能需要進行某種暫停(通常我會把一個對話框作爲主要的第一件事,讓它等待我連接),然後使用remote debugger來附加它在您的機器上

+0

同意。在生產機器上安裝VS時,這是一件很醜陋的事情:-D –

+0

這甚至不是生產機器。但是,我想他們認爲這是測試生產 - 這意味着構建管理器是唯一可以部署到開發服務器的人員。這就是爲什麼我不能做任何遠程調試。 – EoRaptor013