タグ

Cとgdbに関するItisangoのブックマーク (6)

  • はじめてのgdb - Qiita

    linux環境でC言語のデバッグを行う方にむけて、gdbの使い方を説明します。 初心者向けです。 gdbとは デバッガです。ブレークポイントを張ったり、ステップ実行したり、 変数の中身を覗いたり、書き換えたり...そういうことが出来ます。 gccと同様、linuxには標準でインストールされています。 昔からあるツールであり、コマンドラインでの操作を行います。 IDEのデバッガがどうしても使えない環境でのデバッグに役立ちます。 メリット、デメリット メリット: ・たいていのlinux環境で使える ・実行中のプログラムにattachしてデバッグ可能 デメリット: ・GUI画面がない。コマンドを覚える必要がある 使い方1:gdbから直接起動 ①ソースファイルを、デバッグ可能な方式でコンパイルする gcc -g3 test.c →a.outが生成 ※-g3とするとマクロの展開が可能となります。 ②

    はじめてのgdb - Qiita
  • 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 の使い方・デバッグ方法まとめ
    Itisango
    Itisango 2013/01/24
    #GNU #gdb だけではなく #nm コマンドの使い方も解説されている。
  • GDB

    GDBの使い方を調べてみた.将来的にはデバッガを使えるようになって効率的な開発をしていくのだ. 入門編 応用編 GDBじゃないけど…… 入門編 基的なGDBの使い方 とにかくちょっと使ってみる 2003-07-20T15:13+09:00 matsu gdbをとにかくちょっと使ってみた. breakポイント 2003-07-20T15:13+09:00 matsu おそらく多くのデバッグ作業はbreakポイントとステップ実行で足りるものではないだろうか.ここではbreakポイントの設定方法を中心に記述する.breakポイントはいろんな方法で指定できるようだ. watch 2003-07-20T15:13+09:00 matsu 変数値の変化を追跡できるとうれしいかもしれない. continueとステップ実行 2003-07-20T15:13+09:00 matsu breakした後処理を

    Itisango
    Itisango 2013/01/08
    #GDB の使い方について解説したページ。基本的なところが書かれている。
  • GDB Archives - ファイヤープロジェクト

    Skip to contentCategory: GDB223月2007 watch変数値の変化を追跡できるとうれしいかもしれない.変数... Fujiko feature, GDB223月2007 プロファイル(gcc)2003-07-20T15:13+09:00 mat... Fujiko feature, GDB193月2007 とにかくちょっと使ってみるgdbをとにかくちょっと使ってみた.準備gdbの起動... Fujiko feature, GDB153月2007 continueとステップ実行breakした後処理を続けるにはcontinueで継... Fujiko feature, GDB113月2007 attachなんらかの理由でgdbからいきなり起動できないプログ... Fujiko feature, GDB093月2007 プログラムのフロー(cflow)ctagsやe

    Itisango
    Itisango 2012/12/24
    Xubuntu 12.04.1-desktop-i386上のChromeが http://twiter.com/ItSANgo/にアクセスするとSIGABRTで落ちるのでちょっと解析するのに使っていみたい #chrome #Xubuntu #Ubuntu #GDB #Linux
  • いやなブログ: 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 で起

    Itisango
    Itisango 2012/11/30
    そういえばSolarisにはgcoreコマンドってのがあったな…。
  • gcc+gdbによるプログラムのデバッグ 第3回 gdbの便利な機能、デバッグの例

    いくつかのバグを含むツリーソートのプログラムを用意しました。 treesort1.c #include <stdio.h> #include <stdlib.h> struct node { int value; struct node *left; struct node *right; }; void treeadd(struct node**, int); void treewalk(struct node*); void treefree(struct node*); int main(int argc, char **argv) { struct node *rootp; int i; int array[15] = {50, 12, 18, 70, 41, 19, 91, 1, 7, 6, 81, 65, 55, 20, 0}; for (i = 0; i < 15; i++)

  • 1