私はそれをカーネルドライバのデバッグに使用したいと思いますが、すべての機能にロギングを追加しないようにします。 OSReportWithBacktraceは動作するようですが、シンボルが必要です。osxのkextのシンボルをスタックトレースに記録する方法はありますか?
1
A
答えて
1
私はkextから直接シンボリックなスタックトレースを印刷する方法を知らない。 nvram変数boot-args
にkeepsyms=1
を追加することにより、パニックログの記号化を得ることができます。私はこれのためのデータ構造がプライベートなリンケージを持っていると思うので、おそらくあなた自身のkextでシンボル化されたパニックコードを複製することはできません。 (試したい場合はxnuソースのosfmk/i386/AT386/model_dep.c
にあります)
また、OSReportWithBacktrace
の出力をatos
コマンドラインツールから送信することもできます。 kextシンボルの場合は、kextのロードアドレスをkextstat
から見つけて、-l
コマンドライン引数に渡す必要があります。
最後に、lldbカーネルデバッグを使用してスタックトレースを取得できます。初期のkextのロード中にブレークポイントを設定する必要がある場合は、lldbコマンドラインから実行する前に、デバッガに侵入させたいコードに__asm__("int $3")
(IIRC)を挿入することができます。
関連する問題
- 1. SpringのSimpleMappingExceptionResolverの例外スタックトレースをログに記録する方法
- 2. .NETでアプリケーションのスタックトレース全体をログに記録する方法
- 3. これを記録する方法はありますか?
- 4. Railsのエラーを別のログファイルに記録する方法はありますか?
- 5. log4net(C#)を使用してスタックトレースを記録する方法
- 6. NLogで例外を記録する際にスタックトレースを取得する方法は?
- 7. strace以外のiotclコールを記録する方法はありますか?
- 8. IISスレッドプールスレッドの使用状況を記録する方法はありますか?
- 9. Sqlite3でPythonでクエリをログに記録する方法はありますか?
- 10. Rails/Ruby:スタックトレースを短縮する方法はありますか?
- 11. オンデマンドでスタックトレースを印刷する方法はありますか?
- 12. タイムアウトするとhttpsessionを記録する方法はありますか?
- 13. Apacheでリアルタイムにスタックトレースを行う方法はありますか?
- 14. WAI/scottyでHTTPリクエスト全体を記録する方法はありますか?
- 15. MassTransit:収入メッセージを記録する方法はありますか
- 16. Visual Studioでコーディングセッションを記録し再生する方法はありますか?
- 17. Winston 3で完全なスタックトレースを記録するには?
- 18. 私のDjango/uWSGI vassalのスタックトレースはどこに記録されていますか?
- 19. maven出力をファイルに記録する方法と、コンソールを隠す方法はありますか?
- 20. JSのアラートイベントに登録する方法はありますか?
- 21. Pythonのロギングモジュール。すべてのデバッグをログに記録する方法はありますか?
- 22. ログに記録するディレクトリの名前をLog4Netに与える方法はありますか?
- 23. Camel noErrorHandlerがスタックトレースで警告メッセージを記録するのはなぜですか?
- 24. 特定のものをファイルに記録するPythonの方法はありますか?
- 25. .slsまたは.jnijaファイルからsaltstackにデバッグメッセージを記録する方法はありますか?
- 26. pythonの "requests-cache"がキャッシュにヒットするとログに記録する方法はありますか?
- 27. プログラムのクラッシュまでグロッグですべてを記録する「組み込みの方法」はありますか?
- 28. GStreamerでは、v4l2srcのh264 AVIファイルを同時に再生して記録する方法はありますか?
- 29. PHPアプリケーションは、/ var/log/httpd /ディレクトリのカスタムファイルにエラーを記録する方法はありますか?
- 30. SonarQube 5.xのaccess.logにユーザ名とクライアントのIPアドレスを記録する方法はありますか?