タグ

gdbとコマンドに関するiwwのブックマーク (4)

  • gdbコマンド メモ - Watsonのメモ

    自分用にgdbコマンドをメモ。別のサイトに載せていたのですが、サイトが消えたのでこちらに載せ直しました(^^; list ソースコードを表示。 sample.cの10行目あたりを表示する場合、以下のコマンドを実行します。 (gdb) list sample.c:10 5 #define LED3 0x40 6 7 void wait() 8 { 9 static int status; 10 static unsigned int t; 11 12 do{ 13 status = *DGA_CSR20 & TT0_BIT; 14 t = (*DGA_CSR13 & 0x00ffffff); print (p) 変数の値を表示。 statusという変数の値を表示する場合、以下のコマンドを実行します。 (gdb) p status $1 = 104857 (gdb) p/x status $2

    gdbコマンド メモ - Watsonのメモ
  • いやなブログ: 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 で起

    iww
    iww 2014/04/07
    gcoreはgdbのコマンド。 gdbパッケージをインストールするとついでに使えるようになる
  • いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl

    スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。 私は C, C++ でプログラムを書いているときはデバッガ (主に GNU/Linux 上の gdb) を頻繁に利用します。しかし、スクリプト言語ではそれほどでもありません。これはおそらく次のような理由によります。 ビルドが不要なので printf デバッグが容易 (ある程度大きい C++ のプログラムではビルド時間が長いので printf の挿入はしんどい) 異常終了時にスタックトレースが表示される (Ruby, Python なら自動、Perl の場合は use Carp; $SIG{__DIE__} = \&Carp::confess; など) オブジェクトのインスペクトが簡単 (Ru

  • gcoreコマンドで実行中のプロセスのコアイメージを取得する方法

    このドキュメントの内容は、以下の通りです。 はじめに コアファイルとは 実行中のコアファイルの取得方法 gcoreのインストール gcoreの使い方 gdbは動作中プロセスをアタッチ可能 gdbからgcoreを実行する方法 まとめ はじめに オペレーティングシステムでは、さまざまなプログラムが実行されています。実行中のプログラムのことをプロセスと呼びます。 ソフトウェアを開発している場合には、プログラムが異常終了した場合には、調査を行い、原因を特定して、問題を解決しなければなりません。 プログラムが異常終了をしない場合であっても、なんらかの不具合があれば、やはり、調査を行い、原因を特定と問題解決が要求されます。 プログラムの状態を知るためには、プログラムが利用しているメモリの内容を知る必要があります。メモリの内容を取得し、デバッガなので中身を解析することになります。 ここでは、Linux

  • 1