Symbian でスタック トレースを取得する方法について、ヒントを教えてください。KERN-EXEC 0 パニックが発生していますが、原因がわかりません。thisのような、これに関する他のSOの質問を見てきましたが、エミュレータでこの問題を解決する方法の説明しかありません。しかし、私のプログラムは Wi-Fi を扱っており、デバイス上で実行する必要があります。スタックをトレースしたり、パニックで中断したりする方法はあるのでしょうか?
3 に答える
KERN-EXEC 0 は、不適切なハンドルを使用していることを意味するため、すべての RClasses を確認してください。
運用デバイスでシステム クラッシュをデバッグすることはできません。デバイス用のカスタム ROM をビルドできる場合は、カーネル拡張機能「exmondebug.dll」および「exmoncommon.dll」を含めることができます。デバイスがクラッシュすると、デバッグ モニターにドロップされます。ここから、パスワード「replacement」を入力して、すべてのシステム スタックなどをダンプできます (情報については、help と入力してください)。
開発者のハードウェアにアクセスできない場合は、Syborg ベースポートを使用して QEMU でカスタムの Symbian^2 および Symbian^3 ROM イメージを実行できます。Wi -Fi サポートはないと思いますが、イーサネット ドライバーがあります。
私は同じ問題を抱えていました.OSはあなたに何の助けも与えません.
私がしたことは、私の問題を解決し、実際に多くの助けになりました。それは、独自の手動スタック トレース実装を考え出すことです。ここで私のバージョンの一部を参照してください(たまたまリンク先の質問と同じです)。
私の答えには、多くの長所と短所があります。
- プロ - デバッグに役立つ優れたスタック トレースが得られます。
- 短所 - 実装および維持するための多くの手作業。
- 短所 - パフォーマンスが低下する可能性があります (デバッグ ビルドのみでコンパイルされるように設定しました)。
ログがヒントになりませんか? クラッシュした場所にさらにログを追加するか、いくつかのブロックをコメントアウトして、クラッシュが発生したかどうかを確認します。