Visual Studio 2017を使ってAzure FunctionsにデプロイしたFunctionのリモートデバッグをしたいことってありますよね。
最近Azure Functionsのランタイムもv2になって.NET Coreが使えるようになりましたが、v2ランタイム上で動作する.NET CoreなFunctionをリモートデバッグしようとしてもシンボルがロードされず、ブレークポイントも無視されます。
症状的には以下のような感じ。
原因はCloud Explorerのバグ?かなにかのせいです。関係しそうなのはこちらかな?
現状の回避策としてはCloud Explorer経由でデバッガーをアタッチせずに、デバッグメニューから「プロセスにアタッチ」を選択して接続先にFunctionsのFQDN+ポート4022を指定します。またアタッチ先は「マネージド(CoreCLRコード)」を選択します。(Cloud Explorer経由だとアタッチ先が自動になってるのかそれが原因でうまくシンボルをロードできていない雰囲気です)
認証に使うID/Passwordは発行プロファイルを入手してそちらに記載されているID/Passwordを使用します。
無事接続できれば対象のプロセス(w3wp.exe)を指定してアタッチすれば無事シンボルも読み込まれてデバッグできる状態になると思います。