私はSolaris 10およびLinuxでg ++ 4.9.2を使用しています。私はシグナルハンドラを使用しています。信号があるときはいつでも、スタックトレースを表示したいと思います。 Linuxでスタックトレースを表示するにはどうすればよいですか?Linuxでスタックトレースを表示するにはどうすればよいですか?
答えて
backtrace
ファミリーの機能があります。例はmanページを参照してください。原則
、シグナルハンドラは、関数の(小)セット、(Maxim's answerによって示唆されるように、GNUのlibcのからbacktrace
を除く)のみいわゆる非同期シグナルセーフ機能を呼び出すことができます。 signal(7)を読んでください。
実際には、特にバックトレースを表示してから中止したい場合は、気にしないことがあります。 DWARFのデバッグ情報を解析するIan Taylorのlibbacktraceも参照してください。-g
フラグをgcc
またはg++
に、おそらく-O2
のような最適化フラグに加えてコードをコンパイルする方がよいでしょう。 GCCの中では、シグナルハンドラからの不良信号(セグメンテーションフォールト、すなわちSIGSEGV
を含む)に良いバックトレースをダンプするのに事実上使用されており、ほとんどの場合かなりうまく機能します。次に、最近のバージョンのGCCを使用してください。 GCC 6
gdbの内部ではなく、プログラムでスタックトレースを出力したいと考えています –
しかし、私はプログラマティカル( 'gdb'は関与していません)で提案している解決策です。しかし、 '-g'を使ってコンパイルするのが良いでしょう –
- 1. スタックトレースの長いクラスパスを非表示にするにはどうすればよいですか?
- 2. Android Studioでスタックトレース全体を表示するにはどうすればよいですか?
- 3. アンドロイドでネイティブコンパイル済みCプログラムのスタックトレースを表示するにはどうすればよいですか?
- 4. TOMCATでスタックトレースを生成するにはどうすればよいですか?
- 5. Javaスタックトレースのbash出力をLinuxのファイルに出力するにはどうすればよいですか?
- 6. スタックトレース情報を取得するにはどうすればよいですか?
- 7. bluemixログにスタックトレースを含めるにはどうすればよいですか?
- 8. Linuxにsqlコマンドを入力するプロンプトを表示するにはどうすればよいですか?
- 9. Linuxで現在のディスクIOキューの長さを表示するにはどうすればよいですか?
- 10. スタックトレースの出力を減らすにはどうすればよいですか?
- 11. ラジオボタンで表を表示および非表示にするにはどうすればいいですか?
- 12. Linux C++:テキストアプリケーション出力をstdoutの外に表示するにはどうすればよいですか?
- 13. Androidでマーカーを表示するにはどうすればよいですか?
- 14. アニメーションでUIImageviewを表示するにはどうすればよいですか?
- 15. Androidでチルトマップを表示するにはどうすればよいですか?
- 16. コードバアプリケーションでファイルを表示するにはどうすればよいですか?
- 17. ダイナミックイメージをバックグラウンドで表示するにはどうすればよいですか?
- 18. WPでポストオフセットを表示するにはどうすればよいですか?
- 19. secondActivityでトーストメッセージを表示するにはどうすればよいですか?
- 20. マップオープナーをフルハイトで表示するにはどうすればよいですか?
- 21. フレックスビューステートでフリップエフェクトを表示するにはどうすればよいですか?
- 22. memcacheでデータを表示するにはどうすればよいですか?
- 23. divsをjavascriptで表示するにはどうすればよいですか?
- 24. iosでcalendarViewを表示するにはどうすればよいですか?
- 25. Androidでダイアログを表示するにはどうすればよいですか?
- 26. FlashBuilderでMovieClipを表示するにはどうすればよいですか?
- 27. DetailViewでインラインを表示するにはどうすればよいですか?
- 28. QuickLookでオフラインファイルを表示するにはどうすればよいですか?
- 29. Androidでログメッセージを表示するにはどうすればよいですか?
- 30. ActionBarでカスタムビューを表示するにはどうすればよいですか?
SolarisまたはLinux? –