@ miguel.de.icazaは、Instruments を使用して Mono で構築された Mac アプリをプロファイリングする方法についてブログに書いています。ただし、そのブログ投稿はコマンド ラインから実行される実行可能ファイルに関するものであり、.app バンドルに関するものではありませんでした。
上記のブログ投稿の重要なポイントは、静的シンボルが Instruments にとって意味を持つように、アプリを AOT スイッチでコンパイルする必要があるということです。同じアプローチを使用して、Mac .app バンドルに対して Instruments を実行しようとしてきましたが、問題が発生しました。
実行してみました
~/dev/foo/bin/debug> MONO_ENV_OPTIONS="--debug --aot"
./foo.app/Contents/MacOS/foo
ただし、アプリはネイティブの実行可能ファイルではなく .dylib にコンパイルされます。
Generating debug symbols: dsymutil /Users/bright/dev/foo/bin/Debug/foo.app/Contents/MonoBundle/foo.exe.dylib
これを正しくコンパイルする方法がわかりません。
Instruments を Xamarin.Mac バンドルで動作させることができた人はいますか? これはかなり一般的なニーズです。