エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
GCCの-ftrapv (2) - memologue
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
GCCの-ftrapv (2) - memologue
前回、GCCの-ftrapvを使用すると、符号あり整数同士の演算におけるオーバーフローを検出し、オーバーフ... 前回、GCCの-ftrapvを使用すると、符号あり整数同士の演算におけるオーバーフローを検出し、オーバーフロー時にabort()が呼ばれることを示しました。しかし、「abortじゃ意味ないんだよねー、C++の例外をthrowするとか、せめてbacktraceを表示するとかしてくれないと」というご意見もあることでしょう。その点を改善してみます。内容の割に長いです。-gつけてコンパイルしてgdb上で実行すればいいじゃんというツッコミは野暮です。 ■ abortする前にbacktraceを表示したり、プロセスの状態を表示したりしたい これは、デバッグ用と割り切って細かいこと*1を言わなければ比較的簡単です。 SIGABRTのハンドラをインストールしておく abort()をLD_PRELOADで乗っ取る のどちらかでいいでしょう。1. から。 // install.c #include <stdi