私はEmbedded Monoを使用しています。主なアプリケーションはC++で、アセンブリをロードしたり、オブジェクトを構築したり、メソッドを呼び出すことができます。Embedded Monoを使用したデバッグC#コードでブレークポイントを設定する方法は?
私が今したいことは、MonoDevelopを使用して自分のプログラムに接続し、 Managed(C#)コード内のブレークポイント。多くの研究の後、私は次のように を渡しています:上記の呼び出しを行った後
static const char* options[] = {
"--soft-breakpoints",
"--debugger-agent=transport=dt_socket,address=127.0.0.1:10000"
};
mono_jit_parse_options(sizeof(options)/sizeof(char*), (char**)options);
mono_debug_init(MONO_DEBUG_FORMAT_MONO);
、アプリはMonoDevelopのに接続します。
MonoDevelop側では、envを設定します。 。 - >カスタムコマンドを実行していただくために: - >で実行 - 」ファイル名を指定して実行を使用 にあなたを可能にvar MONODEVELOP_SDB_TEST=y
それは アプリに接続します。ここ
をして>カスタムコマンドMonoSoftデバッガはトリッキーな部分ですMonoSoftデバッガー あなたがプロジェクトを開くために必要な選択肢は、これを行うために、私は単に(Debug組み込み)アセンブリを開いた後、Project Optionsでカスタム "Execute"コマンドを追加し、C++ .exeをポイントしてチェックしました"外部コンソールで実行"
MonoSoftデバッガダイアログの "Listen"をクリックすると、アプリケーションが起動し、アセンブリに関するアプリケーション出力にメッセージが表示されますが、ソースファイル(C#)を開くと、 abを設定しようとするreakpoint、無効になった色を変え、決して殴られることはありません。何が足りないのですか?私のアセンブリをデバッグするためにmonoに通知するために、他のmono_debug関数を呼び出す必要がありますか?MonoDevelopにソースを探す場所を伝えるgdbのようなパスプロパティがありますか?
Mono-2.10.8とMonoDevelop 2.8.6.5をWindowsとLinuxで使用していることを忘れてしまった。 – Eric