私は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. TOMCATでスタックトレースを生成するにはどうすればよいですか?
- 4. Javaスタックトレースのbash出力をLinuxのファイルに出力するにはどうすればよいですか?
- 5. スタックトレース情報を取得するにはどうすればよいですか?
- 6. Linuxにsqlコマンドを入力するプロンプトを表示するにはどうすればよいですか?
- 7. Linuxで現在のディスクIOキューの長さを表示するにはどうすればよいですか?
- 8. スタックトレースの出力を減らすにはどうすればよいですか?
- 9. ラジオボタンで表を表示および非表示にするにはどうすればいいですか?
- 10. Linux C++:テキストアプリケーション出力をstdoutの外に表示するにはどうすればよいですか?
- 11. WPでポストオフセットを表示するにはどうすればよいですか?
- 12. divsをjavascriptで表示するにはどうすればよいですか?
- 13. iosでcalendarViewを表示するにはどうすればよいですか?
- 14. Androidでダイアログを表示するにはどうすればよいですか?
- 15. Androidでログメッセージを表示するにはどうすればよいですか?
- 16. シェフサーバーでレシピを表示するにはどうすればよいですか?
- 17. モバイルでデスクトップビューを表示するにはどうすればよいですか?
- 18. リモートアクセスでカスタムエラーページを表示するにはどうすればよいですか?
- 19. FlashBuilderでMovieClipを表示するにはどうすればよいですか?
- 20. Androidでマーカーを表示するにはどうすればよいですか?
- 21. プログラムでレイヤーパネルを表示するにはどうすればよいですか?
- 22. Androidでチルトマップを表示するにはどうすればよいですか?
- 23. memcacheでデータを表示するにはどうすればよいですか?
- 24. QuickLookでオフラインファイルを表示するにはどうすればよいですか?
- 25. ActionBarでカスタムビューを表示するにはどうすればよいですか?
- 26. DetailViewでインラインを表示するにはどうすればよいですか?
- 27. フレックスビューステートでフリップエフェクトを表示するにはどうすればよいですか?
- 28. XMLをグラフィカルに表示するにはどうすればよいですか?
- 29. ルビにgooglechartを表示するにはどうすればよいですか?
- 30. ウェブサイトをiframeに表示するにはどうすればよいですか?
SolarisまたはLinux? –