Rider 2018.3 神奇的 Remote Debug

Posted on 2018-12-26

Rider 在今年年底前發佈了一個 2018.3 的版本,裡面有一個神奇的新功能,可以 Remote Debug Server 上面運行的 Web,我們就來看一下這神奇的功能

Rider 2018.3 ASP.NET Core 2.2

設定 Remote Debug

  • Remote Debug 的功能,在 Run 裡面,有一個 Attach to Remote Process

  • 點下去之後會跳出一個視窗讓你選擇 Server,如果沒有的話,去加一個

  • 會跳出 Setting 視窗,之後也可以自己手動來這裡加,點 + 加一個新的設定

  • 跳出 SSH Session 的視窗,請依自己的環境填入

  • 認証方式比較常見的就是 PasswordRSA Key,這裡用的是 RSA Key,選擇自己的存放位置

這裡的 User 需要使用 Server 上面運行 dotcore 的 User,不然會找不到 process

  • 加好了之後在回來看就有一個新的設定

Remote Debug

  • 重新點一次 Run 裡面的 Attach to Remote Process,就可以看到剛才加好的 Server,點選 Server 之後會出現需要載入 debugger 的工具,點選它就會幫你上傳到 Server

  • 如果是遠端 Server 的話會需要一點時間

  • 上傳好了之後在回來看,就可以看到 Server 上面運行的相關 process,點選它就會進入 Debug 狀態

  • 下方的 Debug 視窗就會跟你說已經 attached

  • 程式碼的中斷點會會亮起來

這裡需要注意的是,如果當初程式碼 Publish 的時候有下 -c Release 的話會無法進入中斷點的,有可能會出現下面這兩種情況 一開始測試的時候,拿的是 Blog 的遠端機器,一直無法進入中斷點,才拉回到 Local 測試,才發現了這個問題

  • 打開瀏覽器,打入網站的網址,就可以用程式碼 Debug 了,是不是很方便

後記

  • 有了這個功能是實在是非常的方便,就跟在 Local Debug Azure 上面的 Web App 一樣,如果遠端發生了問題,就可以遠端進行 Debug,在也不用擲杯 (台語) 了
  • 不過沒有辦法在 Publish 的時候使用 Release build,如果要使用這個功能的話,需要特別注意
  • 期待 Rider 可以更好,有一天可以跟 VS 一樣 XDDD