GDB-9.1

GDB の概要

GDB (GNU プロジェクトデバッガー; the GNU Project debugger) は、プログラム実行時に '内部' にて何が起こっているかを調べるものです。 あるいはそのプログラムがクラッシュする時に何が起きていたかを調べることもできます。 GDB によりプログラムやライブラリを効果的にトレースするには、そのプログラムやライブラリをデバッグシンボル付きでビルドし、ストリップしていないことが必要となります。

本パッケージは LFS-9.1 において正しくビルドでき動作することが確認されています。

パッケージ情報

  • ダウンロード (HTTP): https://ftp.gnu.org/gnu/gdb/gdb-9.1.tar.xz

  • ダウンロード (FTP): ftp://ftp.gnu.org/gnu/gdb/gdb-9.1.tar.xz

  • ダウンロード MD5 sum: f7e9f6236c425097d9e5f18a6ac40655

  • ダウンロードサイズ: 20 MB

  • 必要ディスク容量: 656 MB (ドキュメント生成時はさらに 738 MB)

  • 概算ビルド時間: 1.9 SBU (parallelism=4; さらにテスト実施時 18 SBU, ドキュメント生成時 0.6 SBU)

GDB の依存パッケージ

Recommended Runtime Dependency

任意

DejaGnu-1.6.2 (テストに必要), Doxygen-1.8.17, GCC-9.2.0 (ada and gfortran are used for tests), Guile-3.0.0, Python-2.7.17, rustc-1.37.0 (used for some tests), Valgrind-3.15.0, and SystemTap (実行時での依存、テスト内にて利用するものもあり)

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/gdb

GDB のインストール

以下のコマンドを実行して gdb をビルドします。

mkdir build &&
cd    build &&

../configure --prefix=/usr          \
             --with-system-readline \
             --with-python=/usr/bin/python3 &&
make

Optionally, to build the API documentation using Doxygen-1.8.17, run:

make -C gdb/doc doxy

ビルド結果をテストする場合は以下を実行します。

pushd gdb/testsuite &&
make  site.exp      &&
echo  "set gdb_test_timeout 120" >> site.exp &&
runtest
popd

See gdb/testsuite/README and TestingGDB. There are many problems with the test suite:

  • Clean directories are needed if re-running the tests. For that reason, make a copy of the compiled source code directory before the tests in case you need to run the tests again.

  • Results depend on installed compilers.

  • A few tests assume that the header file <sys/sdt.h>, part of SystemTap, is present.

  • A test run of the test suite had 228 unexpected failures (out of over 70000 tests).

root ユーザーになって以下を実行します。

make -C gdb install

If you have built the API documentation, it is now in gdb/doc/doxy. You can install it (as the root user):

install -d /usr/share/doc/gdb-9.1 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-9.1

Command Explanations

--with-system-readline: This switch forces GDB to use the copy of Readline installed in LFS.

--with-python=/usr/bin/python3: This switch forces GDB to use Python 3 installed in LFS. Remove this switch if you have installed Python-2.7.17 and want to use it instead of Python 3.

パッケージ構成

インストールプログラム: gcore, gdb, gdbserver
インストールライブラリ: libinproctrace.so
インストールディレクトリ: /usr/{include,share}/gdb, /usr/share/doc/gdb-9.1

概略説明

gcore

generates a core dump of a running program.

gdb

GNU デバッガー。

gdbserver

GNU デバッガーに対するリモートサーバー。(他端末からのプログラムのデバッグが可能となります。)

libinproctrace.so

contains functions for the in-process tracing agent. The agent allows for installing fast tracepoints, listing static tracepoint markers, probing static tracepoints markers, and starting trace monitoring.

最終更新日: 2020-02-17 05:25:07 +0900