Java/C#例外でスタック/関数トレースが提供されているという事実は本当に便利です。 C++でこれを行う便利な方法はありますか?または、すべてのメソッド/関数に余分なデータを書き込む必要がありますか?C++例外でスタックトレースを取得する
答えて
ほとんどのデバッガは、例外がスローされるたびに(例外またはハンドラがない例外のいずれか)プログラムを一時停止するように設定できるため、呼び出しスタックを観察できます。
また、コードで制御するクラスの例外がスローされた場合は、you can put code for dumping the call stack in those classes constructorsとなります。
これは、デバッグ中ではなく、野生で例外を記録するためのものです。 –
@ジョン、2番目の文 – Muggen
@ジョン:2番目の段落はそれについてです - 私がリンクしているすべての質問はそれについてです。 – sharptooth
例外にメタデータを追加することを検討している場合は、boost exception handlingを使用することを検討してください。 boost :: exceptionは、スローされた後で例外に情報を追加することを可能にします。
いくつかのOS APIはスタックトレースを提供していますが、Windows APIにStackWalk64などがあり、スタックトレースを行うことができます。
しかし、そのようなことに頼ることができない場合は、デバッグビルドを出荷するか、手動で行うしかありません。
- 1. 例外のポータブルC++スタックトレース
- 2. "Invalid chrome URI"例外のスタックトレースを取得するには?
- 3. GWT例外スタックトレース
- 4. NLogで例外を記録する際にスタックトレースを取得する方法は?
- 5. Androidスタジオ - 例外スタックトレース
- 6. Windows Workflow 3.5での例外処理時にスタックトレースを取得する方法は?
- 7. PL/SQLで再スローされた例外のスタックトレースを取得する(例外の発生元から)
- 8. C#メソッド内でスタックトレースを取得
- 9. 例外タイプ、メッセージ、スタックトレースをフォーマットするためのnlog例外レイアウト
- 10. Rubyで例外を発生させずに現在のスタックトレースを取得
- 11. Javaバージョンは例外スタックトレース
- 12. AWT例外スタックトレースの短縮
- 13. 例外スタックトレースと集約foreach
- 14. は、nullポインタ例外を取得::ラインでnullポインタ例外を取得する1.3
- 15. スタックトレースでキャッチされた例外
- 16. Javaでスタックトレースのない例外
- 17. C#で例外エラーコードを取得する方法
- 18. x64で実際のC++例外を取得する
- 19. デバッグレジスタブレークポイントとベクタ型例外処理を使用したスタックトレースの取得
- 20. アプリケーションでランタイム例外を取得する
- 21. レスポンスコンポーネントでヌルポインタ例外を取得する
- 22. ソケットで例外オブジェクトを取得する
- 23. ロガーでスタックトレースを取得する
- 24. ExtendScriptでエラーのスタックトレースを取得する
- 25. を持つ関数のスタックトレースは、例外
- 26. Blackberryで文字列の形で例外のスタックトレースを取得する方法はありますか?
- 27. Python 2.7の例外オブジェクトからスタックトレースを取得するにはどうすればよいですか?
- 28. 取得例外:org.hibernate.exception.sqlgrammarexception
- 29. 取得例外が
- 30. Pythonで例外を発生させずにスタックトレース文字列を取得するには?
Duplicate ??:http://stackoverflow.com/questions/3222890/call-stack-for-exceptions-in-c – bcsanches