だいぶ lldb に慣れました。なんだが、Linux 側は gdb 。こういう
ちょっと違うが、同じ機能を持つもの
を交互に使うと手がつります。そして、両方の悪い部分だけ目立つ。
To instruct gdb to go ahead and use the init files anyway, invoke gdb like this:
$ gdb -q -iex "set auto-load safe-path /home/user/gdb" ./gdb
とかいうのを発明した人がいるらしい。.gdbinit を読んでくれない。current directory が信用できないって話は、ls のトロイの木馬からあるけど、それでも、これはひどいんじゃないか?
lldb は b で gdb と同じように break point をかけられるが、cond はない。
break modify 1 -c hoge==1
とか書くらしい。modify と set があるらしいが、そんなものを区別して誰がうれしいのか。-c があれば十分ではないのか? その辺りを吸収するコマンドとか定義しても良いけど、
なるべくカスタマイズしないで、そのまま使う
方針です。そうでないと、他人の環境に行った時に死ぬ。
gdb は、p fun(x) とかで、プログラマ中のfunを呼び出せるが、
fun が segv すると、プログラム自体が死ぬ
gdb が死なないだけ許すという気持ちにはあまりなれないです。この辺りは lldb の方が良くできてる。
でも、lldb は fun の返り値の型がわからないらしく、
p (int)fun(x)
とか書かないとだめ。いろいろ疲れるね。
あと、gdb で、wh とかすると、windows height (ヘイトと読んだ奴は高校からやり直し) の意味で、source window が curses ででる。しかも、scroll regieon しないたこな実装で。つまり、
wh すると表示が激遅になる
だれだよ、こんな中途半端な実装したのは…
まぁ、でも、lldb しか使わなくなってきたので、それはそれで幸せです。
No comments:
Post a Comment