タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

gdbに関するSnowCaitのブックマーク (3)

  • 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配下でのプログラムの実行 デバッグのためのコンパイル ユーザ・プログラムの起動 ユーザ・プログラムの引数 ユーザ・プログラムの環境 ユーザ・プログラムの作業ディレクトリ ユーザ・プログラムの入出力 既に実行中のプロセスのデバッグ 子プロセスの終了 プロセス情報 マルチスレッド・プログラムのデバッグ マ

    SnowCait
    SnowCait 2017/01/23
  • gcc+gdbによるプログラムのデバッグ 第1回 ステップ実行、変数の操作、ブレークポイント

    しかし、ブレークポイントという機能はデバッガの手助けなしでは実現できません。 ブレークポイントとはプログラムの強制一時停止を行うポイントで、実行中のプログラムがブレークポイントに遭遇するとプログラムは一時停止され、デバッガによるプログラムへの介入を行えるようになります。 ブレークポイントは次のような場所に設定できます。 指定した行番号のプログラムを実行しようとする瞬間 関数を呼び出した瞬間 その他、C++などでは「例外が発生した瞬間」などにもブレークポイントを設定することができます。 行番号ブレーク ブレークポイントとしてよく使用されるのは、「プログラムの特定の位置」です。 例として、bubblesort.cプログラムのsort関数内で、隣り合う二つの要素を比較している箇所にブレークポイントを設定してみます。 25|/* bubble sort */ 26|void sort(int *a

  • GDBでSegmentation Faultの原因を突き止める - /* Grid Thinking */

    Linuxのプログラムをデバッグするとき、一番困ることはあの有名の「Segmentation Fault」ですね。 プログラムが膨大でマルチプロセス等を使っていたら、どこで問題を起こしているのかすらわからないです。 編はLinuxのCore Dump機能で問題発生行を特定する方法を紹介します。 まず、前提としてはSegmentation Faultは再現できること。(当たり前ですよね) 下記のプログラムを例とします。#include<stdio.h> #include<string.h> #define DATA "TEST" char mngfile[2][50]; int main() { memset( mngfile, '\0', sizeof(mngfile) ); GetMngFile(mngfile); return 0; } int GetMngFile( mngfile

    GDBでSegmentation Faultの原因を突き止める - /* Grid Thinking */
  • 1