Man page - gdb(1)

Available languages:

en ja

Manual

GDB

名 前
書 式
説 明
オ プ シ ョ ン
関 連 項 目
著 作 権

名 前

gdb - GNU デ バ ッ ガ ー

書 式

gdb [ -help ] [ -nh ] [ -nx ] [ -q ] [ -batch ] [ -cd= dir ] [ -f ] [ -b bps ]
[ -tty= dev ] [ -s symfile ] [ -e prog ] [ -se prog ] [ -c core ] [ -p procID ]
[ -x cmds ] [ -d dir ] [ prog | prog procID | prog core ]

説 明

GDB を は じ め と す る デ バ ッ ガ ー は 、 プ ロ グ ラ ム が 実 行 中 ま た は ク ラ ッ シ ュ し た 時 に 、 そ の プ ロ グ ラ ム の 「 内 部 」 で 何 が 行 な わ れ て い る か /行 わ れ て い た か を 調 べ る の に 使 用 さ れ ま す 。

GDB は 、 4 つ の 機 能 (加 え て こ れ ら を サ ポ ー ト す る 機 能 ) に よ っ て 実 行 中 に バ グ を 見 つ け る こ と を 手 助 け し ま す 。

プ ロ グ ラ ム の 動 作 を 詳 細 に 指 定 し て プ ロ グ ラ ム を 実 行 さ せ る 。

指 定 し た 条 件 で プ ロ グ ラ ム を 停 止 さ せ る 。

プ ロ グ ラ ム が 止 ま っ た 時 に 、 何 が 起 こ っ た か 調 べ る 。

バ グ に よ る 副 作 用 を 修 正 し 、 別 の バ グ を 調 べ る た め プ ロ グ ラ ム の 状 態 を 変 更 す る 。

GDB で は C, C++, Fortran, Modula-2 で 書 か れ た プ ロ グ ラ ム の デ バ ッ グ が 行 な え ま す 。

GDB は シ ェ ル コ マ ン ド "gdb" で 起 動 さ れ ま す 。 い っ た ん 起 動 す る と 、 GDB コ マ ン ド "quit" を 実 行 し て 終 了 す る ま で 、 端 末 か ら コ マ ン ド を 読 み 続 け ま す 。 GDB の オ ン ラ イ ン ヘ ル プ は 、 GDB の 中 か ら "help" コ マ ン ド を 実 行 し て 見 る こ と が で き ま す 。

"gdb" は 引 数 や オ プ シ ョ ン 無 し で 起 動 で き ま す が 、 た い て い は 1 つ か 2 つ の 引 数 を つ け て 起 動 し ま す 。 実 行 プ ロ グ ラ ム を 引 数 に す る 場 合 は 以 下 の よ う に し ま す 。

gdb program

ま た 実 行 プ ロ グ ラ ム と core フ ァ イ ル の 両 方 を 指 定 す る こ と も で き ま す 。

gdb program core

も し 実 行 中 の プ ロ セ ス の デ バ ッ グ を 行 な い た い 場 合 に は 、 第 2 引 数 と し て core の 代 わ り に プ ロ セ ス ID を 指 定 す る か 、 あ る い は オ プ シ ョ ン "-p" を 用 い ま す :

gdb program 1234 gdb -p 1234

こ う す れ ば GDB を プ ロ セ ス 1234 に ア タ ッ チ で き ま す 。 -p を 用 い る 場 合 は 、 program の フ ァ イ ル 名 は 省 略 す る こ と が で き ま す 。

よ く 利 用 さ れ る GDB コ マ ン ド に は 以 下 の よ う な も の が あ り ま す 。
break [
file :] function

プ レ ー ク ポ イ ン ト を ( file 内 の ) function に 設 定 し ま す 。

run [ arglist ]

プ ロ グ ラ ム の 実 行 を 開 始 し ま す (も し あ れ ば arglist を 引 数 と し て )。

bt

バ ッ ク ト レ ー ス : プ ロ グ ラ ム の ス タ ッ ク を 表 示 し ま す 。

print expr

式 の 値 を 表 示 し ま す 。

c

プ ロ グ ラ ム の 実 行 を 再 開 し ま す (た と え ば ブ レ ー ク ポ イ ン ト で 実 行 を 中 断 し た 後 )。

next

次 の プ ロ グ ラ ム 行 を 実 行 し ま す (停 止 状 態 の 後 )。 そ の 行 内 の す べ て の 関 数 は 1 ス テ ッ プ で 実 行 さ れ ま す 。

edit [ file :] function

現 在 中 断 し て い る 場 所 の プ ロ グ ラ ム 行 を エ デ ィ タ ー で 開 き ま す 。

list [ file :] function

現 在 中 断 し て い る 場 所 の 近 辺 の プ ロ グ ラ ム ソ ー ス を 表 示 し ま す 。

step

次 の プ ロ グ ラ ム 行 を 実 行 し ま す (停 止 状 態 の 後 )。 も し そ の 行 に 関 数 が 含 ま れ て い れ ば 、 そ の 関 数 内 を ス テ ッ プ 実 行 し て い き ま す 。

help [ name ]

GDB コ マ ン ド name に つ い て の 情 報 や 、 GDB を 使 う 上 で の 一 般 的 な 情 報 を 表 示 し ま す 。

quit

GDB. を 終 了 し ま す 。

GDB の 詳 細 に つ い て は Using GDB: A Guide to the GNU Source-Level Debugger , by Richard M. Stallman and Roland H. Pesch を 参 照 し て 下 さ い 。 同 じ テ キ ス ト は 、 "info" プ ロ グ ラ ム 内 の "gdb" エ ン ト リ か ら オ ン ラ イ ン で 参 照 で き ま す 。

オ プ シ ョ ン

オ プ シ ョ ン 以 外 の 引 数 は 、 実 行 フ ァ イ ル と core フ ァ イ ル (ま た は プ ロ セ ス ID ) を 指 定 し ま す 。 つ ま り オ プ シ ョ ン フ ラ グ と 関 連 づ い て い な い 最 初 の 引 数 は 、 -se オ プ シ ョ ン で 指 定 す る フ ァ イ ル と 同 じ に な り ま す 。 ま た 、 も し も 2番 目 が あ れ ば 、 -c オ プ シ ョ ン で 指 定 す る フ ァ イ ル と 同 じ に な り ま す 。 オ プ シ ョ ン の 多 く は 、 長 い 表 記 法 と 短 い 表 記 法 の 両 方 で 指 定 す る こ と が で き ま す が 、 こ こ で は そ の 両 方 を 示 し ま す 。 長 い 表 記 法 は 、 ど の オ プ シ ョ ン で あ る の か が 明 確 で あ れ ば 、 短 く 切 り 詰 め て も 構 い ま せ ん 。 (好 み に よ り - の 代 わ り に + が 使 用 で き ま す が 、 こ こ で は よ く 用 い ら れ る 表 記 で 記 し ま す 。 )

す べ て の オ プ シ ョ ン と コ マ ン ド ラ イ ン 引 数 は 、 指 定 し た 順 番 に 処 理 さ れ ま す 。 -x オ プ シ ョ ン が 使 用 さ れ る と 、 こ の 順 番 は 変 わ り ま す 。
-help

-h

短 い 説 明 つ き で 、 す べ て の オ プ シ ョ ン を 表 示 し ま す 。

-symbols= file
-s
file

シ ン ボ ル テ ー ブ ル を フ ァ イ ル file か ら 読 み ま す 。

-write

実 行 フ ァ イ ル や コ ア フ ァ イ ル へ の 書 き 込 み を 有 効 に し ま す 。

-exec= file
-e
file

フ ァ イ ル file を 実 行 可 能 フ ァ イ ル と し て 利 用 し ま す 。 core dump と 連 係 し て pure data を 調 べ る の に も 用 い ら れ ま す 。

-se= file

フ ァ イ ル file か ら シ ン ボ ル テ ー ブ ル を 読 み 、 同 時 に そ れ を 実 行 可 能 フ ァ イ ル と し て 利 用 し ま す 。

-core= file
-c
file

フ ァ イ ル file を core dump と し て 利 用 し ま す 。

-command= file
-x
file

フ ァ イ ル file か ら GDB の コ マ ン ド を 読 み 込 み 、 実 行 し ま す 。

-ex command

指 定 さ れ た GDB command を 実 行 し ま す 。

-directory= directory
-d
directory

ソ ー ス フ ァ イ ル を 探 す 検 索 パ ス に directory を 追 加 し ま す 。

-nh

˜/.config/gdb/gdbinit ˜/.gdbinit ˜/.config/gdb/gdbearlyinit ˜/.gdbearlyinit の 各 フ ァ イ ル か ら 、 コ マ ン ド を 実 行 し ま せ ん 。

-nx

-n

˜/.gdbinit ま た は .gdbearlyinit の 初 期 化 フ ァ イ ル か ら コ マ ン ド 実 行 し ま せ ん 。

-quiet

-q

起 動 時 の メ ッ セ ー ジ お よ び copyright を 表 示 し ま せ ん 。 こ れ ら の メ ッ セ ー ジ は バ ッ チ モ ー ド で も 抑 制 さ れ ま す 。

-batch

バ ッ チ モ ー ド で 動 作 し ま す 。 -x で 指 定 し た フ ァ イ ル (お よ び 抑 制 さ れ て い な け れ ば .gdbinit フ ァ イ ル ) 内 の 全 て の コ マ ン ド を 処 理 し た 後 、 戻 り 値 と し て 0 を 返 し て 終 了 し ま す 。 コ マ ン ド フ ァ イ ル 内 の GDB コ マ ン ド の 実 行 中 に エ ラ ー が 生 じ た 場 合 は 、 0 以 外 の 値 で 終 了 し ま す 。

バ ッ チ モ ー ド は GDB を フ ィ ル タ と し て 実 行 す る 場 合 、 た と え ば プ ロ グ ラ ム を ダ ウ ン ロ ー ド し て 別 の コ ン ピ ュ ー タ 上 で 実 行 し た り す る 場 合 に 便 利 で す 。 以 下 の メ ッ セ ー ジ

Program exited normally. (プ ロ グ ラ ム は 正 常 に 終 了 し ま し た 。 )

は 通 常 、 GDB の 制 御 端 末 上 で 実 行 さ れ る プ ロ グ ラ ム が 終 了 す る た び に 出 力 さ れ る も の で す が 、 バ ッ チ モ ー ド で は こ の よ う な メ ッ セ ー ジ は 出 力 さ れ ま せ ん 。

-cd= directory

カ レ ン ト デ ィ レ ク ト リ の 代 わ り に directory GDB の 作 業 用 デ ィ レ ク ト リ と し て 実 行 し ま す 。

-fullname

-f

Emacs が GDB を サ ブ プ ロ セ ス と し て 実 行 す る 際 に 、 こ の オ プ シ ョ ン を 付 加 し ま す 。 こ の と き GDB は 、 ス タ ッ ク フ レ ー ム が 表 示 さ れ る た び に (プ ロ グ ラ ム が 中 断 す る た び に )、 完 全 な フ ァ イ ル 名 と 行 番 号 を 標 準 的 な 認 識 し や す い 形 式 で 表 示 し ま す 。 こ の 表 示 書 式 は 2 つ の 32 文 字 、 フ ァ イ ル 名 、 行 番 号 と コ ロ ン で 区 切 ら れ た 文 字 位 置 、 改 行 の 順 に な っ て い ま す 。 こ れ は Emacs-GDB イ ン タ フ ェ ー ス プ ロ グ ラ ム に お い て 、 フ レ ー ム に 対 応 す る ソ ー ス コ ー ド を 表 示 す る た め に 2 つ の 32 文 字 を 使 う こ と に な っ て い る か ら で す 。

-b bps

リ モ ー ト デ バ ッ グ 用 に GDB が 利 用 す る シ リ ア ル イ ン タ フ ェ ー ス の 回 線 速 度 を (ボ ー レ ー ト ま た は ビ ッ ト /秒 で ) 設 定 し ま す 。

-tty= device

プ ロ グ ラ ム の 標 準 入 出 力 に device を 利 用 し ま す 。

関 連 項 目

GDB の 完 全 な ド キ ュ メ ン ト は Texinfo マ ニ ュ ア ル と し て メ ン テ ナ ン ス さ れ て い ま す 。 "info" と "gdb" の 両 プ ロ グ ラ ム 、 お よ び GDB の Texinfo ド キ ュ メ ン ト が 適 切 に イ ン ス ト ー ル さ れ て い れ ば 、 以 下 の コ マ ン ド

info gdb

を 実 行 し て 完 全 な マ ニ ュ ア ル を 参 照 で き ま す 。

Using GDB: A Guide to the GNU Source-Level Debugger , Richard M. Stallman and Roland H. Pesch, July 1991.

著 作 権

Copyright (c) 1988-2022 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being "Free Software" and "Free Software Needs Free Documentation", with the Front-Cover Texts being "A GNU Manual," and with the Back-Cover Texts as in (a) below.

(a) FSF の 裏 表 紙 に は 、 以 下 の 文 章 が 記 述 さ れ て い ま す : "You are free to copy and modify this GNU Manual. Buying copies from GNU Press supports the FSF in developing GNU and promoting software freedom."