From: KOSAKI Motohiro Date: 2010-11-26T10:24:59+09:00 Subject: [ruby-dev:42628] Re: [Ruby 1.9-Feature#4089][Open] Add addr2line for C level backtrace > Feature #4089: Add addr2line for C level backtrace > http://redmine.ruby-lang.org/issues/show/4089 > > 起票者: Yui NARUSE > ステータス: Open, 優先度: Normal > > 最近の Ruby は SEGV や BUG 時に Ruby level backtrace を出したり、 > 取れるときは C level backtrace を出したりしています。 > > ところが、C level backtrace だけ見ても実のところあまり助けにならないことが多いので、 > ソースコードのファイルや行数も可能ならば出したいところです。 > > などと言っていたら浜地さんがパッチを作ってくれたので、これを取り込みませんか。 > glibc 環境 (つまり Linux) や、libexecinfo を導入している FreeBSD や NetBSD など (のELFなバイナリ) で動きます。 コードを読まずに質問していて申し訳ないのですが 1.-gありなしで、それぞれどういう出力になるか教えてください 2.dwarf読むとすると、普段メモリにロードされてないのでSEGVしたときに 実行ファイルをオープンする必要がある気がしますが、そういう実装? 3.Rubyって--enable-sharedかどうかで、読むファイルが変わる気がしますが どうやって判定していますか? なお、質問の内容によらずこの提案には賛成であると、最後に一言付け加えておきます。 (だって今の出力見にくいんだもん :-p)