エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
lexit: デバッグを効率化する終了関数 - akihiko’s tech note
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
lexit: デバッグを効率化する終了関数 - akihiko’s tech note
C/C++ で,エラーを検出してプログラムを強制終了する場合, exit(EXIT_FAILURE) とか abort() を使う.... C/C++ で,エラーを検出してプログラムを強制終了する場合, exit(EXIT_FAILURE) とか abort() を使う.このうち abort() はコアを吐いてから終了してくれるから(linux の場合),コアを gdb などで解析することにより,デバッグが楽になる.例えば gdb a.out core として gdb を起動し, bt コマンドを使えば,バックトレースできる.しかし abort() による終了は穏便ではない.例えば, exit だとグローバルオブジェクトが破棄されるが, abort() だと破棄されない.そこで, success:正常終了, qfail:正常終了(エラーを返す), btfail:正常終了(バックトレースし,エラーを返す), abort:異常終了, df:デフォルト という4+1段階の終了オプションを選択できる終了関数 lexit を定義した.