読者です 読者をやめる 読者になる 読者になる

C backtrace

5. Backtrace系ライブラリについて。

> シグナルトランポリンとかよくわからないので教えてほしい。

わたしは黒のBSD本 (4.7 Signals) で勉強しました。日本語訳は入手困難だけど、英語版ならKindleで買えます。
が、第2版が8月にでるそうです!(3月14日追記)

BSDカーネルの設計と実装―FreeBSD詳解

BSDカーネルの設計と実装―FreeBSD詳解

  • 作者: マーシャル・カークマキュージック,ジョージ・V.ネヴィル‐ニール,砂原秀樹,Marshall Kirk McKusick,George V. Neville‐Neil,歌代和正
  • 出版社/メーカー: アスキー
  • 発売日: 2005/10/18
  • メディア: 単行本
  • クリック: 122回
  • この商品を含むブログ (57件) を見る
Design and Implementation of the FreeBSD Operating System, The

Design and Implementation of the FreeBSD Operating System, The

The Design and Implementation of the FreeBSD Operating System (2nd Edition)

The Design and Implementation of the FreeBSD Operating System (2nd Edition)

  • 作者: Marshall Kirk McKusick,George V. Neville-Neil,Robert N.M. Watson
  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 2014/09/15
  • メディア: ハードカバー
  • この商品を含むブログを見る

> CRubyにもどっかから持ってきたのかaddr2line.cってやつがあって、さっきのexecinfo.hで得た情報をもとにして、更にDWARFのデバッグ情報をつかって情報を拾い集めている。

経緯は %ruby観察日記 2010-11-25#4089 にありますが shinh さんによる独自実装ですね。

なお、Rubyの場合、rb_print_backtrace() という C API が(非公開APIとして)存在します。
ので、デバッグ用ではご自由にお使いください。

公開するgemでは使うなよ!ゼッタイだぞ!!