アプリケーションのクラッシュ レポートを作成しようとしています。ゲームがデバッグで実行されている場合、スタック トレースを取得するのは簡単です。これは、クラッシュで作成される Error オブジェクトに含まれます。ただし、デバッグなしで実行すると、この情報が失われます。
この情報を取得する方法はありますか?
アプリケーションのクラッシュ レポートを作成しようとしています。ゲームがデバッグで実行されている場合、スタック トレースを取得するのは簡単です。これは、クラッシュで作成される Error オブジェクトに含まれます。ただし、デバッグなしで実行すると、この情報が失われます。
この情報を取得する方法はありますか?
デバッグ モードでコンパイルしている場合は、ExternalInterface を介してパラメータを JavaScript に渡す必要があります。その後、ブラウザのコンソール出力からスタック トレースを確認できるはずです。
例:
flash.system.Security.allowDomain(sourceDomain)
ExternalInterface.call("print", error.getStackTrace());
JavaScriptには関数が必要です
function takeLog(string) {
console.log("stacktrace: " + string);
}
非デバッグ モードでは、getStackTrace() 関数は null を返します。
詳細については、公式ドキュメントの ExternalInterface.call()、 getStackTrace()を参照してください。