MonoDevelopで.NET Coreのデバッグ実行をできるようにする

提供: MonoBook
2020年7月1日 (水) 02:09時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「== 問題点 == WindowsVisual StudiomacOSVisual Studio for Macは標準で.NET Coreデバッグができるが、LinuxのMonoDev…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

問題点

WindowsVisual StudiomacOSVisual Studio for Macは標準で.NET Coreデバッグができるが、LinuxMonoDevelopマイクロソフト製のデバッガーは用意されておらず標準ではデバッグ実行ができない。デバッグ実行をしても通常実行となりブレークポイントなどは無視される。

解決策

サムスンVisual Studio Code用として開発した「Debugger for .NET Core (netcoredbg)」と MonoDevelop拡張機能を入れることでLinux上のMonoDevelopでもデバッグできるようになる。

備考

以下はUbuntu 20.04 LTSで構築した事例である。 CentOSなどでも同じだと思うが試してはいない。

netcoredbgを入れる

MonoDevelopの中の人がバイナリを提供してくれているので、 netcoredbgのzipファイルダウンロードしてホームディレクトリ直下あたりに展開しておく。

ソースから自分でビルドしたいやつはこっち。

netcoredbgを展開したらターミナルから叩いてみて正常に動くかを確認する。

~/netcoredbg.linux/netcoredbg --help

.NET Core Debugger support 拡張機能を入れる

MonoDevelopにnetcoredbgを叩く拡張機能を入れる。

Samsung .NET Core Debugger support拡張(mpackファイル)をダウンロードする。 ダウンロードページには複数バージョンがあるのでMonoDevelopのバージョンに合わせること。 MonoDevelop 7.xに8.x系の拡張をいれても動かない。

MonoDevelopの拡張機能マネージャー(メインメニューの「ツール」「拡張機能」)を開き、 ダイアログの下部にある「ファイルからインストール」を選び、 先程ダウンロードしたmpackファイルをインストールする。

インストールが完了すると、「インストール済み」「Debugging」に「.NET Core support for Mono.Debugging」が追加される。

  • アイコンが緑色なら正常にインストールされている。
  • アイコンが灰色なら異常。たぶんmpackファイルとmonodevelopのバージョンが食い違っている。

.NET Core Debugger support の設定をする

MonoDevelopのユーザー設定(メインメニューの「編集」「ユーザー設定」)を開くと 「プロジェクト」に「.NET Core Debuggers」が追加されてので、 その中の「場所」の欄にnetcoredbgのフルパスを指定する。

「見つかりました」となればすべて完了だ。

試してみる

.NET Core コンソールアプリケーションでも作ってMain直下あったりにブレークポイントを仕掛けてデバッグ実行してみろ。