[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:56737] Re: gdb + python(Re: 第98回東京エリアDebian勉強会(2013年3月勉強会)



岡部です。

最初は全部gdb.parse_and_evalを使ってポインタ辿ってて激重かったのはひみつです。。。 #orz

2013/3/27 Takahide Nojima <nozzy123nozzy@xxxxxxxxx>:
> 野島です。
>
> ををー。すばらしー。あっちゅーまですなぁ。さすがです。
>
> 自分はさらに一層、debug道を突き進むためpythonのctypesモジュールと格闘ち
> う...
> (ctypes.Structureに内包したポインタ変数がうまく操れないぜ...これができ
> ればdynamic loaderとgdbとで楽しくおしゃべりができるのにぃぃー)
>
> 2013-03-27 (水) の 14:53 +0900 に Kiwamu Okabe さんは書きました:
>> ぼくもやってみました。
>>
>> https://github.com/ajhc/ajhc/blob/arafura/utils/gdb_ajhc.py
>>
>> な感じでポインタを辿ってダンプを取るものを作ってみました。
>> 便利ですー
>>
>> 2013/3/27 Takahide Nojima <nozzy123nozzy@xxxxxxxxx>:
>> > Yamaneさん、Okabeさん
>> >
>> > 野島です。どもども。反響ありがとうございましたー。
>> >
>> > ネタばらしすると、あの発表中のcalltracerはまったくの発展途上でして...
>> >
>> >   [1] dynamic loading に対してはほぼ無力(なので、現在対応方法について
>> > loaderフックして試行錯誤中...)
>> >  [2] thread/forkに未対応(まあ、一筋縄じゃいかんわな...)
>> >   [3] でかいプログラム相手にまともにトレースすると、だんだん実行速度が低
>> > 下
>> >    (まあ、大量の使い捨てのfinishがgdb上に登録されちゃうとかのためで
>> > す)
>> >  [4] フレームから無邪気に例外発行されまくりでジャンプされまくるとstack
>> > が正しくおっつかない。
>> >
>> > と「まるで夢のないこと」を、ここでばらしておきます^^;
>> >
>> > また、ほしいなぁと思う改善点は、
>> >
>> >   [5] 特定の箇所だけ記録粒度をあげるとか(しかも実行速度はかわらんと
>> > か)
>> >   [6] Stack Level >=2だけ出力する(しかも実行速度はかわらんとか)
>> >
>> > がとてもほしい。(のですが、自分にはなかなかハードル高いなー)
>> >
>> >  あと、まあ見る人みれば判りますが、rbreak手動で駆使できる人のために
>> > reanalyzecalltracerとかのコマンドが資料のソースにはこっそり用意されてた
>> > りします。(prepcalltraceコマンドの心臓部になってます)
>> >
>> > でわーでわー。
>> > ※user向けの内容じゃなかたですね...すんません...
>> >
>> > 2013-03-19 (火) の 00:00 +0900 に Kiwamu Okabe さんは書きました:
>> >> いまむっちゃpythonべんきょうしてます。
>> >>
>> >> 2013/3/18 Hideki Yamane <henrich@debian.or.jp>:
>> >> > On Mon, 11 Mar 2013 01:05:41 +0900
>> >> > Takahide Nojima <nozzy123nozzy@xxxxxxxxx> wrote:
>> >> >>    - gdb python拡張
>> >> >
>> >> >  これは結構助かる人が居そうなネタでした。
>> >> >  いちいちステップ実行してた作業をpythonで書けるので、色々はかどる
>> >> >  方もいらっしゃるんではないでしょうか。
>> >> >
>> >> >
>> >> > --
>> >> > Regards,
>> >> >
>> >> >  Hideki Yamane     henrich @ debian.or.jp/org
>> >> >  http://wiki.debian.org/HidekiYamane
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Kiwamu Okabe
>> >>
>> >
>> >
>> >
>>
>>
>>
>
>
>



-- 
Kiwamu Okabe