タグ

gdbに関するyaottiのブックマーク (12)

  • GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん

    Twitter上で、@alohakun が言及していた GDB の reverse debugging の機能を使ってみました。 GDB にトレースと逆実行機能入ったのか。 http://www.gnu.org/software/gdb/news/reversible.html http://twitter.com/alohakun/status/4481139191 まずは簡単な使い方を説明したあとに、インストール方法を説明します。 こんなときに便利 「変なこと」が起きている大体の場所がわかっているとき デバッグ中に、大体どこで変なことが起きているかはわかっているけど、細かい場所は特定できていないとき、reverse debuggingが効果を発揮します。 GDBでステップ実行をしていて、「しまった!行きすぎた!」という経験はよくあると思います。こういうとき、今まではプログラムの実行を最

    GDBで歴史をさかのぼれるように!なりました! GDB 7.0 の新機能Reverse Debuggingを使ってみた - 日記を書く [・w・] はやみずさん
    yaotti
    yaotti 2009/10/01
  • gcc+gdbによるプログラムのデバッグ 第2回 変数の監視、バックトレース、その他のコマンド

    前回までに、デバッガを使用する上での最低限のことを覚えました。 ステップ実行 変数の表示、変更 ブレークポイント 今回は少しレベルを上げて、よりデバッガを使いこなすためのコマンドを紹介します。 ウォッチポイント ウォッチポイントはブレークポイントに近いものですが、ブレークポイントのように「ある地点に遭遇したら停止」ではなく、「監視している変数を操作したら停止」という流れになります。 ファイル内から該当する変数名を探せばいいと考えるかもしれませんが、C言語ではポインタによる変数の別名を付けることが可能であるため、そう単純にはいきません。 書き込みの監視 あまりよいサンプルが思いつかなかったため、簡単で無意味な例を示します。 counter.c #include <stdio.h> void set_counter(int *); int count = 1; int watchee = 0;

    yaotti
    yaotti 2009/08/02
  • RMS's gdb Tutorial: How do I use watchpoints?

    yaotti
    yaotti 2009/05/14
    read/write watchpoint
  • いやなブログ: gdb の gcore コマンドを使う

    gdb の gcore コマンドを使う デバッガの理論と実装を読んで以来、デバッガをもっと活用しようという意欲がわいてきました。そこで、gdb について調べていると、 gcore (generate-core-file) というコマンドを見つけました。 gcore は実行中のプロセスの core を生成する gdb のコマンドです。通常、 core ファイルはプログラムが異常終了したときにカーネルによって生成されますが、gdb の gcore コマンドを使えば実行中のプロセスを終了させることなく core ファイルを生成できます。 gcore コマンドは次のように使います。 % gdb (gdb) attach PID (gdb) gcore core (gdb) detach まず attach コマンドで PID を指定して実行中のプロセスにアタッチします (gdb -p PID で起

    yaotti
    yaotti 2008/12/20
    できるだけプロセスを停止させずにデバッグするとき使える
  • 為せばNaruto - gdbの見える化 - イントロダクション , 必要なもの , Emacs 22 のインストール方法 , 設定 , , gdbの見える化?! , , , , 利点 , バグ? , おまけ ..

    [ もしかしたら関連するかもしれないページ ] _ イントロダクション Emacs で GDB を もっと便利に使おう。 元ネタはNetBSD Meeting 19th (株)絹 藤原さんの発表より。 http://www.ki.nu/~makoto/e/emacs-gdb.pdf _ 必要なもの Emacs 22 _ Emacs 22 のインストール方法 CVS レポジトリからソースを取得して、コンパイルを行う。 % setenv CVS_RSH ssh (又は export CVS_RSH=ssh) % cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/emacs login % cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/emacs co emacs % cd emacs % ./c

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    yaotti
    yaotti 2008/12/08
  • gdb豆知識 2008-09-26 - 未来のいつか/hyoshiokの日記

    意外と知っているようでよく知らない自分が日々使う道具。そこで、gdbについて復習がてらいろいろ調べることにする。 gdbemacsから使う gdbをコマンドラインから素で使うのはいかがなものかなと思う。やっぱemacsと固く結合されているわけだからemacsから使うのが正しい姿であろう。 「え〜、だってvi使いだし〜」とか「秀丸からは使えないんすかね」とか言うやつがいるが、秀丸ってなんだよ、とりあえづubuntuでも入れて、emacsいれて、gdb使いなさいとか指導したくなる。いかんいかん、説教くさくなってはいかんいかん。 先日もある会議でデバッガの話が話題になったのだが、「TCPなんちゃらのストール問題のデバッグ方法なんですけどね」、みたいな話題で、「それってカーネルの話?」とわたしが聞くと、「いや、ユーザランドっす」と若いハッカー、「じゃ、gdbでほげほげでいけそーね」、「そーっすね

    gdb豆知識 2008-09-26 - 未来のいつか/hyoshiokの日記
  • 開発ツールとしての Emacs

    の元原稿に少しだけ手を加えたものです。 雑誌掲載のものとは若干の差異があります。(詳細未確認) 2001年5月〜2006年11月の掲載記事を PDF で収録した MOOK が2007年5月に出るということなので これを機会に整理しました。 じつはね 「安く出したいので著作権料は現物支給で勘弁願いたい」 というメールが来たのだった。 原稿を書いた全員が二次使用の無報酬に同意したのかはわからないが、 「ま、たいした分量でもないのでいいか」と思ったしだい。 (原稿料の下落につながるからそんな勝手なことすんな!と いった話があるのであれば教えてくださいね) (注) IE6 (IE7未確認) ではなく Firefox や Safari で見ると私の 意図通りに表示されているようです。 他のブラウザは未確認です。 前書き 著者の Emacs 歴は1989年の Nemacs(Emacs18.55 をベ

  • gdb の使い方・デバッグ方法まとめ

    たとえば、変数 var の値を2進数で表示したい場合は、次のように指定します。 (gdb) p/t var 一覧表示 whatis 変数の型を調べる。 info b 今設定しているブレークポイントの一覧を表示 セグメントフォルトをした後に利用すれば、どの関数で発生したか確認できます。 info stack 関数の呼び出しスタックの一覧を表示 info Thread 存在しているスレッドの一覧を表示 異なるアドレスにおける処理継続 以下のコマンドを使用することで、ユーザが選択したアドレスにおいて実行を継続させることができます jump linespec linespecで指定される行において、実行を再開 jump *address addressで指定されるアドレスにある命令から、実行を再開 アドレスが分かっている場合のメモリリーク出力 xはhexの意味です。 (gdb) p (char*)

    gdb の使い方・デバッグ方法まとめ
    yaotti
    yaotti 2008/06/20
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • gdbを使おう!

    プログラムを作成して、「どうも結果がおかしい!」「なにか変だ」というとき は、デバッグを行いましょう。 デバッガ(デバッグする道具)にはgdbを使用します。 デバックの仕方はいろいろありますが、一番便利なEmacs上でのデバッグについ て説明します。 ソースプログラムはprlf.cです。 デバッグをするには、

  • RMS's gdb Tutorial

    Table of Contents How do I use the gdb debugger? How do I... compile with debugging symbols? run programs with the debugger? restart a program running in the debugger? exit the debugger? get help on debugger commands? How do I watch the execution of my program? How do I... stop execution continue execution see where my program stopped? step through my code line-by-line? examine variables? modify v

    yaotti
    yaotti 2008/05/02
  • 1