debugging

objectファイルの情報、ELFとかdwarfとか。viewer色々あるけどう〜ん…。

http://stackoverflow.com/questions/2511018/objdump-s-source-code-listing
https://www.sourceware.org/gdb/
http://www.ibm.com/developerworks/jp/opensource/library/os-debugging/#download

Viewerは、dissyというのがあったけど、何やら後継で EmilPROというのがあった。
https://code.google.com/p/dissy/
http://www.emilpro.com/
dissyはPythonで書かれていたけどEmilProはC++で書かれている。あとメジャーなディストリのリポジトリにパッケージが入って無さそう。。

buildするのに色々なパッケージがいるけれどcmakeがディストリのパッケージマネージャーと連携して自動的に入れてくれたら楽かな。。画面にエラーメッセージがちゃんと表示されるから対処は簡単だけれど。

出来あがったバイナリを起動して使ってみたところ、結構落ちたりするのとソースコード表示をしてくれなかったりで微妙な感じ。。Dissyだとちゃんとソースコードが表示された。。EmilProは細かい表示等が色々増えてはいるけど、なんだか使いづらくなってる。画面配置の問題な気がする。。


良くありがちだけれど作者の環境ではうまく動いてるんだろう。。2ch browserみたいなものでユーザー数が増えてフィードバックがたくさんないと洗練されないという事なんだろうか…。うーんでもコミットログ積もってるし結構手間暇掛かってそうだけれど。


capstoneというのがあるのを初めて知った。
http://www.capstone-engine.org/index.html

まぁでもlibbfdをちゃんと使えるようになってから手を出してみるか。。。
http://0xcc.net/blog/archives/000073.html
https://sourceware.org/binutils/docs-2.25/bfd/index.html
http://d.hatena.ne.jp/taka_2/20080318/p2
http://ftp.vim.org/NetBSD/NetBSD-release-5/src/gnu/dist/binutils/binutils/addr2line.c

ElfSharpというのもあった。
http://elfsharp.hellsgate.pl/qanda.shtml