「インストール - GDB」の版間の差分
65行目: | 65行目: | ||
必要に応じて、.profileファイルまたは.bashrcファイル等に環境変数のパスを通す。<br> | 必要に応じて、.profileファイルまたは.bashrcファイル等に環境変数のパスを通す。<br> | ||
export PATH="$HOME/InstallSoftware/GDB/GDB-<バージョン名>/bin:$PATH" | export PATH="$HOME/InstallSoftware/GDB/GDB-<バージョン名>/bin:$PATH" | ||
<br><br> | |||
== 警告およびエラー == | |||
以下に示すような警告が出力される場合がある。<br> | |||
warning: File "/home/<ユーザ名>/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load". | |||
<br> | |||
この時、~/.gdbinitファイルを作成して、以下の設定を記述する。<br> | |||
vi ~/.gdbinit | |||
<br> | |||
# ~/.gdbinitファイル | |||
set auto-load safe-path . # ディレクトリごとに.gdbinitファイルを読み込む場合 | |||
# または | |||
set auto-load safe-path / # システム上のどこからでも.gdbinitファイルを読み込むする場合 | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:CentOS]][[カテゴリ:SUSE]] | [[カテゴリ:CentOS]][[カテゴリ:SUSE]] |
2021年6月22日 (火) 13:26時点における版
概要
GDBとは、UNIX系OSで標準的に利用されるデバッガの1つである。
実行形式のファイルを指定して起動すると、プログラムの実行を開始して、実行状態の監視や介入が可能となる。
特定の時点における変数などの値の表示や代入、特定の位置を指定して実行を停止(ブレークポイント)、
1命令ずつ停止させて実行(ステップ実行)等の機能を、対話的なコマンドラインインターフェースで利用することができる。
また、GDBを直接介した実行だけでなく、OS上で既に実行されているプロセスを指定して制御する(アタッチする)こともできる。
別のコンピュータ上で実行されているプログラムをデバッグする遠隔モードもあるため、組み込みソフトウェアの開発やLinuxカーネル開発などにも用いられる。
依存関係のライブラリのインストール
GDBの依存関係のライブラリをインストールする。
# CentOS sudo yum install texinfo gcc gcc-c++ make python3-devel mpfr-devel wget # SUSE sudo zypper install texinfo gcc gcc-c++ make python3-devel mpfr-devel wget
Texinfoをパッケージ管理システムを使用してインストールする場合は膨大な時間が掛かるため、手動でインストールすることを推奨する。
- まず、Texinfoの公式Webサイトから、Texinfoをダウンロードする。
- 次に、Texinfoを解凍して、Texinfoディレクトリ直下にbuildディレクトリを作成する。
mkdir build
- Texinfoをビルドおよびインストールするため、以下のコマンドを実行する。
../configure --prefix=/home/<ユーザ名>/InstallSoftware/Texinfo
make -j 8
make TEXMF=/home/<ユーザ名>/InstallSoftware/Texinfo/texmf install-tex
make install
- .profileファイルまたは.bashrcファイル等に、以下の環境変数を追記する。
export PATH="$HOME/InstallSoftware/Texinfo/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/InstallSoftware/Texinfo/lib64:$LD_LIBRARY_PATH"
GDBのインストール
GDBの公式Webサイトから、GDBのソースコードをダウンロードする。
または、以下のコマンドを実行してダウンロードする。
wget https://ftp.gnu.org/gnu/gdb/gdb-<バージョン名>.tar.xz
ダウンロードしたファイルを解凍して、解凍したディレクトリに移動する。
tar xvf gdb-<バージョン名>.tar.xz cd gdb-<バージョン名>
ビルド用のディレクトリを作成して、そのディレクトリに移動する。
mkdir build cd build
※注意
Qt Creatorにおいて、ユーザが個別にインストールしたGDBを使用する時は、
GDBをコンパイルする際に、以下のように、Pythonの実行ファイルとライブラリのパスを指定する必要がある。
[ -z "${PYTHON}" ] && export PYTHON=<Python3の実行ファイルのフルパス> PYTHON_LIBDIR=$("${PYTHON}" -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR'))") 例. [ -z "${PYTHON}" ] && export PYTHON=/home/<ユーザ名>/InstallSoftware/Python/Python-3_8_8/bin/python3.8 PYTHON_LIBDIR=$("${PYTHON}" -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR'))")
以下のコマンドを実行して、GDBをインストールする。
../configure --prefix="$HOME/InstallSoftware/GDB/GDB-<バージョン名>" または ../configure --prefix="$HOME/InstallSoftware/GDB/GDB-<バージョン名>" --with-python="${PYTHON}" LDFLAGS="-L${PYTHON_LIBDIR}" make -j 8 make -C gdb install
必要に応じて、.profileファイルまたは.bashrcファイル等に環境変数のパスを通す。
export PATH="$HOME/InstallSoftware/GDB/GDB-<バージョン名>/bin:$PATH"
警告およびエラー
以下に示すような警告が出力される場合がある。
warning: File "/home/<ユーザ名>/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
この時、~/.gdbinitファイルを作成して、以下の設定を記述する。
vi ~/.gdbinit
# ~/.gdbinitファイル set auto-load safe-path . # ディレクトリごとに.gdbinitファイルを読み込む場合 # または set auto-load safe-path / # システム上のどこからでも.gdbinitファイルを読み込むする場合