読者です 読者をやめる 読者になる 読者になる

elfファイルのdebugセクション分割とgdbの分割されたデバッグ情報のサポート機能めも

rpmパッケージとかは通常のパッケージとデバッグ用のパッケージを分けて、debugしたいときはデバッグ情報付きのパッケージをインストールしますよね。あれがどんな感じで動いているのか確認したのでメモです。 使っている機能としては、gdbのデバッグ情報の…

昨日のoopsから,バグが発生した場所を調べます.

昨日のoopsはこれです.まず,oopsにある原因のコードの場所を見ます. [12643.727359] RIP: 0010:[<ffffffffa02a00ae>] [<ffffffffa02a00ae>] count_free+0xae/0x131 [minix]そうすると,count_free()という関数で落ちていることがわかります. 後ろの0xaeはバグの場所で,0x131は関数のサイズで</ffffffffa02a00ae></ffffffffa02a00ae>…

double freeバグのデバッグ.

昨日久々に,double freeのバグに当たったので,それのデバッグ方法をメモ書き.こんな感じで,2重にfreeするバグを持ったプログラムがあったとして, サンプルなので,原因は簡単に分かりますけど・・・ [masami@moonlight:~]% cat double_free.c #include <stdio.h> </stdio.h>…

forkしてpipe読み書きにかかる時間.

こんなコードを書いて,Linux,Minixでかかる時間をtimeコマンドで見てみました. #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/wait.h> int main(int argc, char **argv) { pid_t pid; int max; int i; int pfd[2]; char buf[16]; if (argc != 1) max = atoi</sys/wait.h></sys/types.h></stdio.h></stdlib.h></unistd.h>…

cのコードがどんな感じのアセンブラコードに落ちるのか確認

テスト環境はこんな感じです。 [masami@moon:~/build/debug_test]% uname -a Linux moon 2.6.30-rc7-x86tip-tip #1 SMP Tue May 26 23:41:24 JST 2009 x86_64 GNU/Linux [masami@moon:~/build/debug_test]% gcc -v Using built-in specs. Target: x86_64-lin…

emacs + gdbの組み合わせが素敵( ´∀`)ノ

この前のDebug Hacks Nightで実演していたemacs + gdbの組み合わせは便利!! 今まではタブが使えるターミナルで一個目のタブでemacs、2個目のタブでgdbとゆう感じでやってたけど1画面で見れるし、 gdbでの実行状態とemacs上のカーソルが連携してくれるから…

前にやったデバッグのメモでも書こう。

BTSでのやりとりはここ発端は久々にIRCでもと思ってxchatをデスクトップのメニュー(当時はfluxboxだったような)からxchatを選択しても起動しなかったのがきっかけ。起動失敗した理由が得られなかったのでコマンドラインから打てば分かるだろうということで…