タグ

gdbに関するf99aqのブックマーク (8)

  • 既存プロセスの標準出力と標準エラーを奪う - Qiita

    #!/bin/bash # 既存プロセスの標準出力と標準エラーを奪う http://bit.ly/1neWKth # ターゲットのPID pid=$1 [[ -d /proc/$1/fd ]] || exit 1 # 出力先はttyやファイルを指定 out="$2" # 出力先の指定がない場合は現在のttyを出力先にする if [[ -z $out ]]; then # プロセスに紐付いたttyを取得する http://bit.ly/1eDpRpu function search_tty() { local pid=${1:-$$} tty="" while [[ 1 -lt $pid ]]; do [[ -d /proc/$pid/fd ]] || break tty=$(readlink /proc/$pid/fd/1 2>/dev/null | awk '{print $1}') [

    既存プロセスの標準出力と標準エラーを奪う - Qiita
    f99aq
    f99aq 2015/08/24
  • 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・] はやみずさん
  • Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記

    先日のShibuya.pm #9のLightening Talkで「gdbでXS on mod_perlをデバッグ」という話をしてきました。XSを使い出すと、従来のPerl的デバッグだけでは不十分なのでgdbをうまく使って、効率的にデバッグしましょう、という話です。実は、はてな社内では1年近く前に勉強で話したネタだったのですが、ようやく公開することができました。 Shibuya.pmでは5分という枠があったのでショートver.でしたが、ここでは制限はないので、来のロングバージョンの資料をアップします。ちょっと公開できない情報が混っていたので、xxxで隠していますが、ご了承ください。 ちなみに、Rubyとかでも似た感じでデバッグできると思うので、そちらの人も参考にしてください。長いよ!という人は、最後の「これは設定しておけ的gdb初期化マクロ」だけでもどうぞ。かなり便利です。 (資料公開が

    Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記
  • gdb の list コマンドの使い方がやっと分かった - IT戦記

    今まで (gdb) n 261 if(argc <= 1) (gdb) l 256 arch_flags = NULL; 257 narch_flags = 0; 258 all_archs = FALSE; 259 use_member_syntax = TRUE; 260 261 if(argc <= 1) 262 usage(); 263 264 /* 265 * Parse the arguments. (gdb) 「こんなちょっとのコード見ても何のことかわかんねーよ!!」 って思ってたんですけど そのままリターンキーを連打すれば良かったんですね! たとえば、 main 関数の全貌を知りたくなったら 「l main」って打ってリターン連打みたいな感じでいいのか。 こんな感じ (gdb) l main 242 int 243 main( 244 int argc, 245 char

    gdb の list コマンドの使い方がやっと分かった - IT戦記
    f99aq
    f99aq 2008/04/13
  • http://limu.is.kyushu-u.ac.jp/~yosimoto/memo/kondara/gprof.html

  • gdb tips - bkブログ

    gdb tips gdb を使う上で便利な tips を紹介します。基的な使い方をマスターしている人向けです。 .gdbinit の設定 ホームディレクトリに .gdbinit を置いておくと、gdb の起動の際に読み込まれます。私の場合は次のような設定をしています。 set history save on set history size 10000 set history filename ~/.gdb_history set print pretty on set print static-members off set charset ASCII set history から始まる最初の 3行は履歴に関する設定です。それぞれ、 gdb のコマンドラインの履歴をファイルに保存する、保存する行は最大 10000 行、ファイル名は ~/.gdb_history 、という意味になります。

  • いやなブログ: 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 で起

    f99aq
    f99aq 2006/07/09
  • Debugging with GDB - Table of Contents

    The GNU Source-Level Debugger Seventh Edition, for GDB version 4.18 February 1999 Richard M. Stallman and Roland H. Pesch GDBの要約 フリー・ソフトウェア GDBに貢献した人々 GDBセッションのサンプル GDBの起動・終了 GDBの起動 ファイルの選択 モードの選択 GDBの終了 シェル・コマンド GDB コマンド コマンドの構文 コマンド名の補完 ヘルプの表示 GDB配下でのプログラムの実行 デバッグのためのコンパイル ユーザ・プログラムの起動 ユーザ・プログラムの引数 ユーザ・プログラムの環境 ユーザ・プログラムの作業ディレクトリ ユーザ・プログラムの入出力 既に実行中のプロセスのデバッグ 子プロセスの終了 プロセス情報 マルチスレッド・プログラムのデバッグ マ

    f99aq
    f99aq 2006/05/11
  • 1