2

當我在本地調試Azure項目(1個Web + 1工作者角色實例)時,調試器經常停止並且角色實例重新啓動。Visual Studio 2012調試器在調試Azure項目時突然停止

我不知道爲什麼發生這種情況,沒有未捕獲的異常,如果我沒有設置斷點運行項目,一切正常。 但是,當我使用Step Over/Step into設置斷點並移動代碼時,調試器會隨機停止。

有沒有人知道是什麼導致這/我可以找到額外的日誌,可能會對此有所瞭解?

更新:

要麼我忽略了這以前也沒有得到記錄到輸出窗口,但現在我得到了以下錯誤:

First-chance exception at 0x000007fde4a4167f in WaWorkerHost.exe: 0xC0000005: Access violation reading location 0xfffffffffffffff8. 
The Common Language Runtime cannot stop at this exception. Common causes include: incorrect COM interop marshalling, and memory corruption. To investigate further, using native-only debugging. 

我敢肯定這是不是我的應用程序的錯誤 - 正如我所提到的,當我沒有設置斷點並手動執行時,我正在調試的確切代碼運行正常。

任何想法?

更新2

弗羅姆引導程序(舊)日誌:

[00012264:00001260, 2013/03/26, 11:37:19.777, 00100000] <- CRuntimeClient::OnRoleStatusCallback(0x0000006BD7718C00) =0x800706be 
[00012264:00008432, 2013/03/26, 11:37:19.804, 00100000] <- CRuntimeAgent::RemoveEndpointRegistration(0x0000006BD76F60E0) =0x80070005 
[00012264:00001260, 2013/03/26, 11:37:19.811, 00040000] Client process WaWorkerHost.exe is the role host. 
[00012264:00008432, 2013/03/26, 11:37:19.830, 00100000] <- CRuntimeAgent::UnregisterEndpoint(0x0000006BD76F60E0) =0x80070005 
[00012264:00001260, 2013/03/26, 11:37:19.830, 00080000] Failed to contact the role host process. Treat role as unhealthy. 

文件與結尾 - 在接下來的引導程序日誌,角色實例的啓動被記錄下來。 是否可以通過調試阻止引導程序聯繫角色,從而決定它們不健康並且必須重新啓動?

最後更新:

我擦我的項目,並沒有從資源庫中檢出最新。事實證明,在我的一個類庫中有一個缺失的參考。缺少的引用從來沒有出現編譯錯誤,據說是因爲有一個老版本放在某個地方。

對於發現自己處於類似情況的所有其他人,我只能推薦嘗試去做同樣的事情:徹底清理其代碼庫並查看問題是否消失。在所有我搜索日誌中我從來沒有遇到過一個「MissingReferenceException」 - 將有救了我很多時間今天

+0

? – 2013-03-26 09:00:40

+0

我正在使用IIS Express,我嘗試切換到IIS Web Server,因爲我已經閱讀過某處,可能是原因,但問題依然存在。我不確定是否需要添加更多配置 - 我只是將雲項目設置中的單選按鈕更改爲「使用IIS Web服務器」,並通過程序/功能安裝了IIS。 – enzi 2013-03-26 09:05:23

+0

只是爲了確定。嘗試卸載Azure SDK和工具,然後執行全新安裝http://www.windowsazure.com/en-us/downloads/ – 2013-03-26 09:11:25

回答

2

Enable Diagnostics in Windows Azure

更新1

你可以嘗試啓用日誌

請前往%USERPROFILE%\ AppData \ Local \ DevelopmentStorage目錄。你會看到兩個文件 enter image description here

打開文件DevelopmentStorage.201210.config,改變LoggingEnabled爲true。

enter image description here

參考文獻:

Windows Azure worker role crashing WaWorkerHost.exe crashes role

更新2

WaHostBootstrapper日誌位於C:\資源\目錄\ DeploymentID.Role.DiagnosticStore \華ostBootstrapper.log

其他日誌:

WaWebHost C:\資源\ TEMP \ Guid.Role \ RoleTemp \ WaWebHost.log

WaIISHost C:\資源\ Temp \ DeploymentID.Role \ RoleTemp \ WaIISHost.log

IISConfigurator C:\資源\ TEMP \ DeploymentID.Role \ RoleTemp \ IISConfigurator.log

IIS日誌 C:\資源\目錄\ Guid.Role.DiagnosticStore \ LogFiles文件\ W3SVC1

Windows事件日誌 d:\ WINDOWS \ SYSTEM32 \ Winevt \日誌

UPDATE 3

在Azure應用程序定義的本地存儲創建一個新的文件夾,以便路徑到您的Azure計算仿真器是%USERPROFILE%\應用程序數據\本地\ dftmp \您使用的是開發服務器什麼

+0

感謝您的幫助plurby,開發存儲日誌選項幫助我極大。我只想在此指出,第二次更新中的日誌位置是指Azure虛擬機,而不是本地文件系統(日誌在AppData \ Local \ dftmp中,至少在我的機器上) – enzi 2013-03-26 12:28:22

+0

@enzi很高興能幫到您。 – 2013-03-26 13:44:24