monolog

monora log #=> ものろーぐ

2014年9月の投稿

lldbの使い方備忘録

Programming

メモリ管理周りで色々ハマってたのだけど、普通にデバッガを使えばよかった。 Mac OSX だと、gdb より lldb を使う方が環境的に整ってて楽っぽい。LLVMさまさまだ。

LLDBの使い方(チュートリアル日本語訳) | こん

とりあえずここを読めばいいと思います。

以下は、上を読みながら実際にどのようにして作業を行ったかという流れのメモ。

まず、コンパイル時に -g オプションをつけてコンパイルすること (これによって変数名や関数名のようなデバッグ情報が埋め込まれる)

$ pgrep a.out

なんかでプロセスのpidを取得して、

 

$ lldb -p [pid]

で対象プロセスにアタッチ

 

(lldb) breakpoint set -n malloc_error_break

とすると、mallocにまつわるエラーにブレークポイントがセットできる (その他のブレークポイント等は元記事を参照)

これを叩いた時に、メインプロセスの実行が止まったら

(lldb) c

で再開出来る。(c は continue の省略コマンド) で、実行すると、ブレークポイントで自動的に lldb がスタックトレースを吐いて止めてくれる。

 

(lldb) bt

でスタックトレースが表示できる (bt = thread backtrace)

 

(lldb) frame select [n]

で、n番目のフレームに移動出来る (btで表示した #n にあたるもの)

 

(lldb) frame variable

とすると、そのフレームから見える変数が表示できる。

 

(lldb) p [variable]

とかすると、 valiable の値が表示できる。 また、*, &, ->, [] みたいな演算子も使用可能

 

(lldb) expr (int)printf("hoge")

みたいにすると、 printf("hoge") の返り値を取得できる。 ただし、返り値のキャストが必須のよう (普通にhogeと表示出来るらしいけれど、こちらの環境では上手くいかなかった)

メモリ管理周りで色々ハマってたのだけど、普通にデバッガを使えばよかった。 Mac OSX だと、gdb より […]

.yokohamaドメインを取った

雑記

昨日の昼ごろ、友人から .yokohama が今日らしいという話を聞いてついやってしまった散財事案。

[http://pref.yokohama

](http://pref.yokohama)ドメインの通り、「横浜県」のサイトで、もはや何も言うまいという感じにネタでしかない気がします…… 一応弁明をすると、実際には横浜県ではなくて神奈川県横浜市であるわけで、僕は鎌倉市民です。

まだ1文字の日本語ドメインなんかも取れるようなので(昨日20時ごろ確認)、色々とネタに出来る気もする。 920円/年というのもお手軽で良いですね。(お名前.com)

新gTLDで、日本の地名がTLDになるものは、調べた感じ以下の9つぐらいだそうで、 .sendai とか一体どういうこっちゃという感じですが、まだまだ面白くなりそうです。

  • .tokyo

  • .kyoto

  • .nagoya

  • .yokohama

  • .okinawa

  • .osaka

  • .ryukyu

  • .wakayama

  • .sendai

地理的名称トップレベルドメイン ‐ 通信用語の基礎知識 「.yokohama」横浜のための新ドメイン | GMOドメインレジストリ株式会社

昨日の昼ごろ、友人から .yokohama が今日らしいという話を聞いてついやってしまった散財事案。 [htt[…]