iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 19
4
Everything on Azure

三十天.NET❤️Azure漸進式開發專案系列 第 19

三十天.NET與Azure漸進式開發專案(19): 如何遠端Debug

2018-10-24.22.31.29-image.png
  陪伴程式人開發生活中,最常見的就是BUG,所以如何Debug是格外重要的技能。在Azure App Web Service提供類似 偵錯-附加至處理序(【附1】) 方式,讓開發人員可以在本機遠端Debug上線的專案。


情境舉例:

  阿明今天將好不容易開發好的專案上線到雲端,結果馬上接到訊息通知,說線上專案驗證資料是否包含空白space字串功能失效,導致包含空白的髒資料保存到資料庫中。
  阿明想說怎麼可能發生這樣事情,打開VS重新看了幾次,還是找不出問題點,但是線上專案測試確實包含空白space字串的資料可以驗證通過。

public ActionResult ContainsSpace(string account)
{
    if (account.Contains(" "))
        return Content("{result:'Error ContainsSpace'}");
    return Content("{result:'OK'}");
}

2018-10-24.22.05.09-image.png
  阿明決定執行遠端偵錯工具來看問題出在哪,首先滑鼠移到專案右鍵點擊打開專案發行:
2018-10-24.22.11.40-image.png
  為了不影響線上專案建立一個新的測試APP,設定檔 > 設定 > 組態從Release改為Debug,發佈到Azure雲端。 2018-10-24.22.14.17-image.png
  等雲端布置好後,打開 伺服器總管 選擇新建的App Service,滑鼠點開點擊 附加偵錯工具 ,發現系統真的驗證通過。
2018-10-24.22.09.50-image.png
  阿明這時候使用Debug比對該字串是%E3%80%80不是%20,原來是阿明不小心輸入全形空白導致!
2018-10-24.22.20.22-image.png


注意點

為何阿明不使用原本線上專案,要另外發布一個專案
原因1:從組態Release轉為Debug需要重新啟動一次伺服器環境。
原因2:線上其他使用者會干擾使用,如下圖,其他用戶使用連結也會觸發Debug。
2018-10-24.22.27.44-image.png

補充:

【附1】偵錯-附加至處理序方式:
2018-10-24.21.28.23-image.png


上一篇
三十天.NET與Azure漸進式開發專案(18): Web App Always On替代方案
下一篇
三十天.NET與Azure漸進式開發專案(20): 使用Application Insights Debug Exception
系列文
三十天.NET❤️Azure漸進式開發專案30

尚未有邦友留言

立即登入留言