遠端除錯 Azure Web App
當我們將 Web App 部署在 Azure 上時,如果能夠實現遠端除錯,將會極大的提高我們修復 bug 的效率。Visual Studio 一貫以功能強大、易用著稱,當然可以實現基於 Azure 應用的建立、釋出和除錯。接下來就讓我們一起看看如何使用 Visual Studio 遠端除錯部署在 Azure 上的 Web App,以及一些常見的注意事項。
文章來源:葡萄城產品技術社群
在開始正文前讓我們先檢查一下使用的 Azure SDK 版本和 Visual Studio 版本。根據MSDN的介紹,Azure 的遠端除錯功能是在 Azure SDK 2.2 中加入的,所以請確保您的機器上安裝了2.2或者是更新的 Azure SDK。
關於 Visual Studio 的版本問題,MSDN上的描述也很有趣。大意是使用 Visual Studio 2012 已經可以遠端除錯 Azure 上的 Website 了,但是 Visual Studio 2013 又對此做了很多的提升。個人理解最好使用 VS2013,或者更新的版本。
筆者在寫本文時的實驗環境是 VS2015 update3 和 Azure SDK 2.9。
如果我們要使用執行在機器A上的 Visual Studio 除錯另外一臺機器B上執行的一個程式 myapp(機器B上沒有安裝 visual studio),我們不僅要把附帶 pdb 檔案的 myapp 程式部署到機器B上,還要在機器B上執行一個除錯輔助程式 msvsmon.exe。執行 msvsmon.exe 後,Visual Studio 就能夠 attach 住 myapp 並使用其 pdb 檔案進行除錯,這就是 Visual Studio 的遠端除錯功能。而 msvsmon.exe 程式必須與特定版本的 Visual Studio 相匹配才能工作,所以它被整合在 Visual Studio 的安裝包中,用時去 Visual Studio 的安裝目錄中搜尋就能找到。
遠端除錯 Azure Web App 和上面的過程是一樣的,只不過我們需要通過雲端的配置來指定 msvsmon.exe 對應的 Visual Studio 版本,並告訴雲端開啟一些除錯所需的埠。
下面就讓我們一步步的踏上VS遠端除錯 Azure App 之旅。
當我們部署網站時就需要建立這個賬號,這個賬號既可以用來部署又可以用來遠端除錯。
Publishing profile 是用於進行釋出操作的配置檔案。當我們要釋出一個網站或者是一個 Web 應用時,需要很多的基本資訊,比如伺服器在哪裡?使用者名稱是什麼?密碼是什麼?等等…這些資訊統統儲存在 publishing profile 檔案中,有興趣的朋友可以開啟這個檔案看看裡面的詳細資訊。
無論除錯與否,我們都要把應用釋出到 Azure 上去,所以先下載 publishing profile:
設定 Application settings 中的遠端除錯為允許狀態,並指定用於遠端除錯的 Visual Studio 版本。相關內容已經在原理部分講過,這裡說些需要注意的內容:
這兩項設定是有期限的,在48小時之後預設會被關掉!
原因主要是效能和安全,所以建議大家在除錯完成後立即關閉遠端除錯功能。
Visual Studio 的除錯功能依賴於編譯過程中產生的 pdb 檔案。下面的設定就是讓 Web App 在釋出時編譯為 debug 版本併產生對應的 pdb 檔案。現在的 Visual Studio 已經可以智慧的去找 pdb 檔案了,所以這裡我們不用關心 pdb 檔案是被髮布到了雲端還是儲存在本地(簡單就好)!
先匯入剛才下載的 publishing profile 檔案:
在 Settings 中選擇 Configuration 為 ”Debug”:
然後點選 “Publish”按鈕進行釋出。
在 Attach 對話方塊中輸入網站 URL 中去掉”http://”的部分,然後在彈出的對話方塊中輸入我們在最開始處建立的使用者名稱和密碼。
在列出的程式列表中選擇”w3wp.exe”:
點選”Attach”按鈕就可以了。
心急的同學可要注意了,這裡可能需要等待上那麼一小會兒…
當你看到設定的斷點變成可用狀態時,就可以嘗試去觸發一個斷點了。
好了,看上去還不賴,能夠工作了!
注意,實際使用過程中可能並不會這麼的順利。主要是在 attach 的時候,可能需要多試幾次才能成功。除錯的過程中速度也是個問題,感覺還是有點慢。
另外,除錯 Web 程式經常會碰到讓人很尷尬的一幕:正好有另外的一個使用者在使用這個功能(可能是測試人員),此時不要太吃驚喔!
注意工具的版本
原理簡介
設定 Deployment credentials
下載釋出用的 publishing profile
允許遠端除錯 Web App
釋出除錯版本的 Web App
Attach 遠端程式
開始遠端除錯 Web App
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28298702/viewspace-2123226/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Pycharm遠端除錯PyCharm除錯
- PHPSTROM遠端除錯PHP除錯
- IDEA、ECLIPSE遠端除錯IdeaEclipse除錯
- pycharm 遠端除錯之二PyCharm除錯
- Xdebug+PhpStorm 遠端除錯PHPORM除錯
- debug技巧之遠端除錯除錯
- 本地除錯遠端服務除錯
- vscode遠端除錯c++VSCode除錯C++
- 使用IDEA遠端debug除錯Idea除錯
- Dapr 遠端除錯之 Nocalhost除錯
- VS - 打斷點/本地除錯/遠端除錯 問題斷點除錯
- phpstorm 遠端除錯 homstead 程式碼PHPORM除錯
- WebStorm遠端除錯Node.jsWebORM除錯Node.js
- Homestead+PhpStorm+Xdebug 遠端除錯PHPORM除錯
- 使用IDEA進行遠端除錯Idea除錯
- 使用Xdebug進行遠端除錯除錯
- vs搭建遠端除錯環境除錯
- 使用Intellij IDEA遠端除錯Spark程式IntelliJIdea除錯Spark
- vsc 如何除錯遠端python程式碼除錯Python
- vscode配置遠端linux系統除錯VSCodeLinux除錯
- 基於 Scrcpy 的遠端除錯方案除錯
- Pycharm同步遠端伺服器除錯PyCharm伺服器除錯
- 遠端除錯 Android 裝置網頁除錯Android網頁
- IntelliJ IDEA遠端除錯Elasticsearch6.1.2IntelliJIdea除錯Elasticsearch
- windows系統vscode遠端除錯MySQLWindowsVSCode除錯MySql
- Pycharm連線遠端伺服器並實現遠端除錯PyCharm伺服器除錯
- Azure Terraform(十三)提升 Azure Web App Plan 的效能ORMWebAPP
- Android Studio怎麼遠端除錯裝置?Android除錯
- 智慧小程式檔案館——遠端除錯除錯
- 原來 Java 遠端除錯如此簡單Java除錯
- Azure Application Gateway(一)對後端 Web App 進行負載均衡APPGateway後端Web負載
- vscode+gdbserver遠端除錯ARM環境搭建VSCodeServer除錯
- 使用VSCode遠端除錯惡意Powershell指令碼VSCode除錯指令碼
- 使用 Eclipse 遠端除錯 Java 應用程式(mark)Eclipse除錯Java
- 在海思晶片上使用GDB遠端除錯晶片除錯
- windows上通過IDA遠端除錯linux程式Windows除錯Linux
- 使用Clion優雅的完全遠端自動同步和遠端除錯c++除錯C++
- 智慧小程式檔案館——再談遠端除錯除錯
- 除錯環境 寶塔 mysql root 遠端登入除錯MySql