GDB-8.0

GDB の概要

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

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

パッケージ情報

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

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

  • ダウンロード MD5 sum: c3d35cd949084be53b92cc1e03485f88

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

  • 必要ディスク容量: 450 MB (テスト実施時はさらに 193 MB, ドキュメント生成時はさらに 677MB)

  • 概算ビルド時間: 4.3 SBU (テスト実施時はさらに 27 SBU, ドキュメント生成時はさらに 0.7)

GDB の依存パッケージ

任意

DejaGnu-1.6 (テスト時), Doxygen-1.8.13, GCC-7.2.0 (gfortran, for some tests), Guile-2.2.2 (currently broken), Python-2.7.13, rustc-1.16.0 (for some tests), Valgrind-3.13.0, and SystemTap (ランタイム時での依存、テスト内にて利用するものもあり)

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

GDB のインストール

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

./configure --prefix=/usr --with-system-readline --without-guile &&
make

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

make -C gdb/doc doxy

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

pushd gdb/testsuite &&
make  site.exp      &&
echo  "set gdb_test_timeout 120" >> site.exp &&
runtest TRANSCRIPT=y
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, it is recommended to 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.

  • There are a large number of timeouts (there is a variable that can be set to increase time for timeout, but changing it will result in a different number of tests being run).

  • There are failures associated with system readline 6.x.

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

  • About 3% of the tests fail (out of over 35000 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-8.0 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-8.0

Command Explanations

--without-guile: This switch disables support for Guile since version 2.2 changed the way that C ports were handled.

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

パッケージ構成

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

概略説明

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.

最終更新日: 2017-08-17 05:38:22 +0900