1

Visual Studio 2010 C# アプリケーションでは、次のようにアンマネージ dll を呼び出しています。

[DllImport("cyghello.dll", CharSet = CharSet.Ansi, CallingConvention =          CallingConvention.StdCall)]
 [return: MarshalAs(UnmanagedType.LPStr)]
 public static extern string runMainRoutine(char[] _inputString);

C++ dll は mingw/cygwin の下でビルドされます。これより前に、*.exe があり、正常に動作し、関数を extern に変更しました。したがって、依存関係の問題ではありません。

関数を呼び出すと:

string res = runMainRoutine(("balbalbalblalb").ToCharArray());

アプリケーションを静かに閉じます。エラーなし。デバッグ情報はありません。(アンマネージ コードのデバッグは、プロジェクト オプション内でチェックされています)

何をすべきか?何が起こっているのか、どうやって理解するのですか?

UnhandledExceptionEventHandler をキャッチしようとしましたが、役に立ちませんでした。

4

0 に答える 0