差分

ナビゲーションに移動 検索に移動

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

3,115 バイト追加, 2020年7月1日 (水) 02:09
ページの作成:「== 問題点 == WindowsVisual StudiomacOSVisual Studio for Macは標準で.NET Coreデバッグができるが、LinuxのMonoDev…」
== 問題点 ==
[[Windows]]の[[Visual Studio]]と[[macOS]]の[[Visual Studio for Mac]]は標準で[[.NET Core]]の[[デバッグ]]ができるが、[[Linux]]の[[MonoDevelop]]は[[マイクロソフト]]製の[[デバッガー]]は用意されておらず標準ではデバッグ実行ができない。デバッグ実行をしても通常実行となり[[ブレークポイント]]などは無視される。

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

__TOC__

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

== netcoredbgを入れる ==
[[MonoDevelop]]の中の人が[[バイナリ]]を提供してくれているので、
netcoredbgの[[zipファイル]]を[[ダウンロード]]して[[ホームディレクトリ]]直下あたりに展開しておく。
* https://github.com/lextudio/monodevelop.netcoredbg/releases

[[ソース]]から自分で[[ビルド]]したいやつはこっち。
* https://github.com/Samsung/netcoredbg

netcoredbgを展開したら[[ターミナル]]から叩いてみて正常に動くかを確認する。
~/netcoredbg.linux/netcoredbg --help

== .NET Core Debugger support 拡張機能を入れる ==
MonoDevelopにnetcoredbgを叩く拡張機能を入れる。

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

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

インストールが完了すると、「インストール済み」「Debugging」に「.NET Core support for Mono.Debugging」が追加される。
* アイコンが緑色なら正常にインストールされている。
* アイコンが灰色なら異常。たぶんmpackファイルとmonodevelopのバージョンが食い違っている。

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

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

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

[[category: MonoDevelop]]
[[category: Linux]]
[[category: Ubuntu]]

案内メニュー