AppleScriptを使用する必要があるOSX用のモノラルアプリを書いています。私は MonodevelopソースのAppleScriptクラスを使用していますが、これはほとんどの場合正常に機能しますが、時々SIGSEGVが発生し、プログラムがクラッシュします。
MonoとOSXの両方に慣れていないので、この問題をデバッグする方法がわかりません。デバッガーを実行していてもMonoDevelopは壊れず、C#の例外処理は何の役にも立たないようです。何が起こっているのかを理解する方法はありますか?今のところ、プログラムを保護する唯一の方法は、AppleScriptコード用に別のプロセスを実際に生成することだと思われます。
私が実行するスクリプトは常に同じであり、99%の時間は問題なく実行されます。これはスタックトレースです。
Stacktrace:
at (wrapper managed-to-native) MonoDevelop.MacInterop.AppleScript.OSACompile (MonoDevelop.MacInterop.ComponentInstance,MonoDevelop.MacInterop.AEDesc&,MonoDevelop.MacInterop.OsaMode,MonoDevelop.MacInterop.OsaId&) <IL 0x00028, 0xffffffff>
at MonoDevelop.MacInterop.AppleScript.Run (bool,MonoDevelop.MacInterop.AEDesc&,string&) [0x0007f] in /Users/kristian/Repositories/Kristian/projects/CherryTomato_NT/mono_osx/CherryTomato.Core_OSX/MacInterop/AppleScript.cs:131
at MonoDevelop.MacInterop.AppleScript.Run (bool,MonoDevelop.MacInterop.AEDesc&) [0x00000] in /Users/kristian/Repositories/Kristian/projects/CherryTomato_NT/mono_osx/CherryTomato.Core_OSX/MacInterop/AppleScript.cs:103
at MonoDevelop.MacInterop.AppleScript.Run (string) [0x00010] in /Users/kristian/Repositories/Kristian/projects/CherryTomato_NT/mono_osx/CherryTomato.Core_OSX/MacInterop/AppleScript.cs:83
...
出力には他にもたくさんの情報があり、必要に応じて投稿できますが、かなり一般的に見えます。