Revisão | 55538ab628d5ec8af5af334c66785c5687103df9 (tree) |
---|---|
Hora | 2011-04-07 20:50:38 |
Autor | akngw <akngw@user...> |
Commiter | akngw |
いろいろ修正。
@@ -512,7 +512,7 @@ There is absolutely no warranty for @value{GDBN}; type "show warranty" | ||
512 | 512 | @noindent |
513 | 513 | @code{m4}に組み込まれている@code{changequote}がどのように動作するのかを知る必要があります。 |
514 | 514 | ソースを見ると、対応するサブルーチンが@code{m4_changequote}であることがわかります。 |
515 | -ですので、@value{GDBN}の@code{break}コマンドでそのサブルーチンにブレイクポイントを設定します。 | |
515 | +ですから、@value{GDBN}の@code{break}コマンドでそのサブルーチンにブレイクポイントを設定します。 | |
516 | 516 | |
517 | 517 | @smallexample |
518 | 518 | (@value{GDBP}) @b{break m4_changequote} |
@@ -791,19 +791,19 @@ Program exited normally. | ||
791 | 791 | @node File Options |
792 | 792 | @subsection ファイルの選択 |
793 | 793 | |
794 | -@value{GDBN}が起動する際、オプション以外の引数は全て実行ファイルやコアファイル(もしくはプロセスID)を指定しているものとして読み込みます。 | |
795 | -これはそれぞれ@samp{-se}と@samp{-c}(あるいは@samp{-p})によって指定されている引数と同じ意味を持ちます(オプションフラグと関連しない最初の引数を@samp{-se}オプションに続く引数と同等なものとして読み込みます。 | |
794 | +@value{GDBN}が起動する際、オプション以外の引数は全て実行ファイルやコアファイル(もしくは、プロセスID)を指定しているものとして読み込みます。 | |
795 | +これは、それぞれ、@samp{-se}と@samp{-c}(あるいは@samp{-p})によって指定されている引数と同じ意味を持ちます(オプションフラグと関連しない最初の引数を@samp{-se}オプションに続く引数と同等なものとして読み込みます。 | |
796 | 796 | また、オプションフラグと関連しない2番目の引数があれば、@samp{-c}/@samp{-p}オプションに続く引数と同等なものとして読み込みます)。 |
797 | 797 | 2番目の引数が10進数の数字で始まっていれば、まずプロセスとして接続できるかどうかを試みます。 |
798 | 798 | 失敗した場合、コアファイルとしてファイルを開くことを試みます。 |
799 | 799 | 数字で始まる名前を持つコアファイルを使う場合には、プロセスIDとして扱われることのないよう、ファイル名の前に@file{./}を付けてください。 |
800 | -例えば@file{./12345}のようにします。 | |
800 | +例えば、@file{./12345}のようにします。 | |
801 | 801 | |
802 | -組み込みをターゲットとしている場合の大半がそうでありますが、@value{GDBN}がコアファイルのサポートを入れてコンフィグレーションされていない場合、@value{GDBN}は2番目の引数が指定されると警告を出力し、引数を無視します。 | |
802 | +組み込みをターゲットとしている場合の大半がそうですが、コアファイルのサポートを入れて@value{GDBN}がコンフィグレーションされていない場合、@value{GDBN}は、2番目の引数が指定されると警告を出力し、引数を無視します。 | |
803 | 803 | |
804 | 804 | 多くのオプションでは、長い書式と短い書式の両方が用意されています。 |
805 | 805 | 以下のリストにはその両方が示されています。 |
806 | -長い書式を端折って書いたとしても、そのオプションを特定するのに十分であれば、@value{GDBN}はその長い書式のオプションを認識します(オプション引数を示すのに@samp{-}ではなく@samp{--}を使用することもできますが、より一般的な慣例を使って説明します)。 | |
806 | +長い書式を端折って書いたとしても、そのオプションを特定するのに十分であれば、@value{GDBN}は、その長い書式のオプションを認識します(オプション引数を示すのに@samp{-}ではなく@samp{--}を使用することもできますが、より一般的な慣例を使って説明します)。 | |
807 | 807 | |
808 | 808 | @c NOTE: the @cindex entries here use double dashes ON PURPOSE. This |
809 | 809 | @c way, both those who look for -foo and --foo in the index, will find |
@@ -820,7 +820,7 @@ Program exited normally. | ||
820 | 820 | @itemx -e @var{file} |
821 | 821 | @cindex @code{--exec} |
822 | 822 | @cindex @code{-e} |
823 | -適切であれば実行ファイルとして@var{file}ファイルを、コアダンプと関連させる純粋な検査データのために使用します。 | |
823 | +適切であれば、実行ファイルとして@var{file}ファイルを、コアダンプと関連させる純粋な検査データのために使用します。 | |
824 | 824 | |
825 | 825 | @item -se @var{file} |
826 | 826 | @cindex @code{--se} |
@@ -852,8 +852,8 @@ Program exited normally. | ||
852 | 852 | @cindex @code{-ex} |
853 | 853 | @value{GDBN}コマンドを一つ実行します。 |
854 | 854 | |
855 | -複数回使用すればコマンドを複数呼び出すことができます。 | |
856 | -必要であれば@samp{-command}を間に挟むこともできます。 | |
855 | +複数回使用すれば、コマンドを複数呼び出すことができます。 | |
856 | +必要であれば、@samp{-command}を間に挟むこともできます。 | |
857 | 857 | |
858 | 858 | @smallexample |
859 | 859 | @value{GDBP} -ex 'target sim' -ex 'load' \ |
@@ -888,7 +888,7 @@ Program exited normally. | ||
888 | 888 | @cindex @code{--nx} |
889 | 889 | @cindex @code{-n} |
890 | 890 | いずれの初期化ファイルの中にあるコマンドも実行しません。 |
891 | -通常は、コマンドオプションや引数を処理した後にそういった初期化ファイルの中にあるコマンドが実行されます。 | |
891 | +通常は、コマンドオプションや引数を処理した後に、そういった初期化ファイルの中にあるコマンドが実行されます。 | |
892 | 892 | @xref{Command Files,,Command Files}. |
893 | 893 | |
894 | 894 | @item -quiet |
@@ -905,7 +905,7 @@ Program exited normally. | ||
905 | 905 | @cindex @code{--batch} |
906 | 906 | バッチモードで実行します。 |
907 | 907 | @samp{-x}で指定したコマンドファイル(と、@samp{-n}で抑止されていなければ、初期化ファイルの中の全コマンド)を全て処理した後、ステータス@code{0}で終了します。 |
908 | -コマンドファイルの@value{GDBN}コマンドを実行中にエラーが発生した場合は非0のステータスで終了します。 | |
908 | +コマンドファイルの@value{GDBN}コマンドを実行中にエラーが発生した場合は、非0のステータスで終了します。 | |
909 | 909 | バッチモードは、ページネーション(ページ処理)を無効にし、端末の幅と高さを無制限の状態に設定します (@pxref{Screen Size})。 |
910 | 910 | また、@kbd{set confirm off}が有効であったかのように動作します (@pxref{Messages/Warnings})。 |
911 | 911 |
@@ -918,7 +918,7 @@ Program exited normally. | ||
918 | 918 | @end smallexample |
919 | 919 | |
920 | 920 | @noindent |
921 | -というメッセージはバッチモードでは出力されません(通常このメッセージは、端末を制御している@value{GDBN}で実行されているプログラムの場合、常に出力されます)。 | |
921 | +というメッセージはバッチモードでは出力されません(通常、このメッセージは、端末を制御している@value{GDBN}で実行されているプログラムの場合、常に出力されます)。 | |
922 | 922 | |
923 | 923 | @item -batch-silent |
924 | 924 | @cindex @code{--batch-silent} |
@@ -942,9 +942,9 @@ Program exited normally. | ||
942 | 942 | この場合、終了コードは@samp{-return-child-result}を指定しなかった場合と同じになります。 |
943 | 943 | @item |
944 | 944 | ユーザが値を明示して終了した場合。 |
945 | -例えば@samp{quit 1}などです。 | |
945 | +例えば、@samp{quit 1}などです。 | |
946 | 946 | @item |
947 | -子プロセスが全く起動しなかったり、あるいは終了しなかったりした場合。 | |
947 | +子プロセスが全く起動しなかったり、あるいは、終了しなかったりした場合。 | |
948 | 948 | この場合終了コードは-1になります。 |
949 | 949 | @end itemize |
950 | 950 |
@@ -956,13 +956,13 @@ Program exited normally. | ||
956 | 956 | @cindex @code{-nw} |
957 | 957 | ``No windows''. |
958 | 958 | @value{GDBN}に組み込みのグラフィカルユーザインターフェイス(GUI)が付いている場合、@value{GDBN}にコマンドラインインターフェイスだけを使用するように指示します。 |
959 | -GUIが利用できない場合このオプションは効果を持ちません。 | |
959 | +GUIが利用できない場合、このオプションは効果を持ちません。 | |
960 | 960 | |
961 | 961 | @item -windows |
962 | 962 | @itemx -w |
963 | 963 | @cindex @code{--windows} |
964 | 964 | @cindex @code{-w} |
965 | -GUIを持つ@value{GDBN}であれば可能なかぎりGUIを使うように要求します。 | |
965 | +GUIを持つ@value{GDBN}であれば、可能なかぎりGUIを使うように要求します。 | |
966 | 966 | |
967 | 967 | @item -cd @var{directory} |
968 | 968 | @cindex @code{--cd} |
@@ -973,23 +973,23 @@ GUIを持つ@value{GDBN}であれば可能なかぎりGUIを使うように要 | ||
973 | 973 | @cindex @code{--fullname} |
974 | 974 | @cindex @code{-f} |
975 | 975 | @sc{gnu} Emacsは、@value{GDBN}をサブプロセスで実行する際このオプションをセットします。 |
976 | -これによって、(プログラムが停止するごとも含めた)スタックフレームが表示される時に、標準的で認識可能な書式で完全なファイル名と行番号を出力するように指示します。 | |
977 | -この認識可能な書式というのは、@samp{\032}文字が二つ出力され、続けてファイル名、行番号と文字位置がコロンで区切られて出力され、最後に改行されるというものです。 | |
978 | -Emacs-to-@value{GDBN}インターフェイスのプログラムは二つの@samp{\032}文字をフレームにソースコードを表示するためのシグナルとして使います。 | |
976 | +これによって、(プログラムが停止するごとも含めた)スタックフレームが表示される時に、標準的で認識可能な書式で、完全なファイル名と行番号を出力するように指示します。 | |
977 | +この認識可能な書式というのは、@samp{\032}文字が二つ出力され、続けて、ファイル名、行番号と文字位置がコロンで区切られて出力され、最後に改行されるというものです。 | |
978 | +Emacs-to-@value{GDBN}インターフェイスのプログラムは、二つの@samp{\032}文字を、フレームにソースコードを表示するためのシグナルとして使います。 | |
979 | 979 | |
980 | 980 | @item -epoch |
981 | 981 | @cindex @code{--epoch} |
982 | 982 | Epoch Emacs-@value{GDBN}インターフェイスは、@value{GDBN}をサブプロセスとして実行する際にこのオプションをセットします。 |
983 | -これは、Epochが分割ウィンドウに式の値を表示できるようにするため、@value{GDBN}にその表示ルーチンを変更するように指示するものです。 | |
983 | +これは、Epochが分割ウィンドウに式の値を表示できるようにするため、その表示ルーチンを変更するように@value{GDBN}に指示するものです。 | |
984 | 984 | |
985 | 985 | @item -annotate @var{level} |
986 | 986 | @cindex @code{--annotate} |
987 | -このオプションは@value{GDBN}内部の@dfn{注釈レベル}をセットします。 | |
987 | +このオプションは、@value{GDBN}内部の@dfn{注釈レベル}をセットします。 | |
988 | 988 | @samp{set annotate @var{level}}を用いたのと全く同じ効果があります (@pxref{Annotations})。 |
989 | -annotation @var{level}は、プロンプトと一緒に@value{GDBN}が表示する情報の量、すなわち式の値、ソース行、その他の出力を制御するものです。 | |
989 | +annotation @var{level}は、プロンプトと一緒に@value{GDBN}が表示する情報の量、すなわち、式の値、ソース行、その他の出力を制御するものです。 | |
990 | 990 | レベル0が通常です。 |
991 | -レベル1は@sc{gnu} Emacsのサブプロセスとして@value{GDBN}が実行される場合に使用されます。 | |
992 | -レベル3は@value{GDBN}を制御するプログラムにとって適切な最大限の注釈を表示します。 | |
991 | +レベル1は、@sc{gnu} Emacsのサブプロセスとして@value{GDBN}が実行される場合に使用されます。 | |
992 | +レベル3は、@value{GDBN}を制御するプログラムにとって適切な最大限の注釈を表示します。 | |
993 | 993 | レベル2は非推奨となっています。 |
994 | 994 | |
995 | 995 | 注釈機構は、@sc{gdb/mi}によってほぼ置き換えられています (@pxref{GDB/MI})。 |
@@ -1003,7 +1003,7 @@ annotation @var{level}は、プロンプトと一緒に@value{GDBN}が表示す | ||
1003 | 1003 | @itemx -b @var{bps} |
1004 | 1004 | @cindex @code{--baud} |
1005 | 1005 | @cindex @code{-b} |
1006 | -リモートデバッギングのために@value{GDBN}によって使用される全てのシリアルインターフェイスの回線スピード(ボーレートもしくは秒あたりのビット数)を設定します。 | |
1006 | +リモートデバッギングのために@value{GDBN}によって使用される全てのシリアルインターフェイスの回線スピード(ボーレート、もしくは、秒あたりのビット数)を設定します。 | |
1007 | 1007 | |
1008 | 1008 | @item -l @var{timeout} |
1009 | 1009 | @cindex @code{-l} |
@@ -1019,7 +1019,7 @@ annotation @var{level}は、プロンプトと一緒に@value{GDBN}が表示す | ||
1019 | 1019 | @c resolve the situation of these eventually |
1020 | 1020 | @item -tui |
1021 | 1021 | @cindex @code{--tui} |
1022 | -起動時に@dfn{Text User Interface}を動かします。 | |
1022 | +起動時に、@dfn{Text User Interface}を動かします。 | |
1023 | 1023 | Text User Interfaceは端末上で複数のテキストウィンドウを管理し、ソースやアセンブリ、レジスタ、@value{GDBN}のコマンド出力を表示します (@pxref{TUI, ,@value{GDBN} Text User Interface})。 |
1024 | 1024 | もう一つの方法として、Text User Interfaceは@samp{@value{GDBTUI}}プログラムを起動することによっても有効にすることができます。 |
1025 | 1025 | Emacsから@value{GDBN}を実行している場合にはこのオプションを使わないでください (@pxref{Emacs, ,Using @value{GDBN} under @sc{gnu} Emacs})。 |
@@ -1037,15 +1037,15 @@ Emacsから@value{GDBN}を実行している場合にはこのオプションを | ||
1037 | 1037 | このオプションは、@value{GDBN}をバックエンドとして使うために@value{GDBN}と通信するプログラムによってセットされるものです。 |
1038 | 1038 | (@xref{Interpreters, , Command Interpreters}.) |
1039 | 1039 | |
1040 | -@samp{--interpreter=mi} (あるいは @samp{--interpreter=mi2})を使うと、@dfn{@sc{gdb/mmi} interface}を使用します (@pxref{GDB/MI, ,The @sc{gdb/mi} Interface})。 | |
1040 | +@samp{--interpreter=mi} (あるいは、@samp{--interpreter=mi2})を使うと、@dfn{@sc{gdb/mmi} interface}を使用します (@pxref{GDB/MI, ,The @sc{gdb/mi} Interface})。 | |
1041 | 1041 | このインターフェイスは@value{GDBN}バージョン6.0から入っています。 |
1042 | -@samp{--interpreter=mi1}で選択することのできる、@value{GDBN}バージョン5.3で含まれた以前の@sc{gdb/mi}インターフェイスは非推奨です。 | |
1042 | +@value{GDBN}バージョン5.3で入れられた以前の@sc{gdb/mi}インターフェイスは、@samp{--interpreter=mi1}で選択することが出来ますが、このインターフェイスは非推奨です。 | |
1043 | 1043 | それ以前の@sc{gdb/mi}インターフェイスは既にサポートされていません。 |
1044 | 1044 | |
1045 | 1045 | @item -write |
1046 | 1046 | @cindex @code{--write} |
1047 | 1047 | 実行ファイルとコアファイルを読み書き両用のモードでオープンします。 |
1048 | -これは@value{GDBN}の@samp{set write on}コマンドと同等です (@pxref{Patching})。 | |
1048 | +これは、@value{GDBN}の@samp{set write on}コマンドと同等です (@pxref{Patching})。 | |
1049 | 1049 | |
1050 | 1050 | @item -statistics |
1051 | 1051 | @cindex @code{--statistics} |
@@ -1061,7 +1061,7 @@ Emacsから@value{GDBN}を実行している場合にはこのオプションを | ||
1061 | 1061 | @subsection @value{GDBN}が起動時に行なうこと |
1062 | 1062 | @cindex @value{GDBN} startup |
1063 | 1063 | |
1064 | -ここではセッションを開始する際に@value{GDBN}が行なうことを説明します。 | |
1064 | +セッションを開始する際に@value{GDBN}が行なうことをここでは説明します。 | |
1065 | 1065 | |
1066 | 1066 | @enumerate |
1067 | 1067 | @item |
@@ -1071,11 +1071,11 @@ Emacsから@value{GDBN}を実行している場合にはこのオプションを | ||
1071 | 1071 | @cindex init file |
1072 | 1072 | システムワイドの@dfn{初期化ファイル}を読み込みます(@value{GDBN}を構築する際に@option{--with-system-gdbinit}が使われた場合です。 |
1073 | 1073 | @xref{System-wide configuration, ,System-wide configuration and settings}.)。 |
1074 | -そしてファイル中のコマンドを全て実行します。 | |
1074 | +そして、ファイル中のコマンドを全て実行します。 | |
1075 | 1075 | |
1076 | 1076 | @item |
1077 | -(存在すれば)ホームディレクトリ@footnote{DOS/Windowsのシステムでは@code{HOME}環境変数によって指定されているものがホームディレクトリです。}の初期化ファイルを読み込みます。 | |
1078 | -そしてそのファイル中のコマンドを全て実行します。 | |
1077 | +(存在すれば)ホームディレクトリ@footnote{DOS/Windowsのシステムでは、@code{HOME}環境変数によって指定されているものがホームディレクトリです。}の初期化ファイルを読み込みます。 | |
1078 | +そして、そのファイル中のコマンドを全て実行します。 | |
1079 | 1079 | |
1080 | 1080 | @item |
1081 | 1081 | コマンドラインオプションとオペランドを処理します。 |
@@ -1083,7 +1083,8 @@ Emacsから@value{GDBN}を実行している場合にはこのオプションを | ||
1083 | 1083 | @item |
1084 | 1084 | (存在すれば)カレント作業ディレクトリの初期化ファイルからコマンドを読み込んで実行します。 |
1085 | 1085 | カレントディレクトリがホームディレクトリではない場合にだけ実行されます。 |
1086 | -ですので複数の初期化ファイル、つまりホームディレクトリに置く汎用的な初期化ファイルと、@value{GDBN}を起動するディレクトリに置く、デバッグをしているプログラムに特有な内容をもつ初期化ファイルを使うことができます。 | |
1086 | +これによって、複数の初期化ファイルを使用することが出来ます。 | |
1087 | +つまり、ホームディレクトリに置く汎用的な初期化ファイルと、@value{GDBN}を起動するディレクトリに置くデバッグ対象プログラムに特有な内容を持つ初期化ファイルです。 | |
1087 | 1088 | |
1088 | 1089 | @item |
1089 | 1090 | @samp{-x}オプションで指定されたコマンドファイルを読み込みます。 |
@@ -1096,14 +1097,14 @@ Emacsから@value{GDBN}を実行している場合にはこのオプションを | ||
1096 | 1097 | |
1097 | 1098 | 初期化ファイルは、@dfn{コマンドファイル} (@pxref{Command Files}) と同じシンタックスを使い、同じ方法で@value{GDBN}によって処理されます。 |
1098 | 1099 | ホームディレクトリの初期化ファイルには、続けて行なわれるコマンドラインオプションとオペランドの処理に影響するオプション(例えば@samp{set complaints}のようなもの)をセットすることができます。 |
1099 | -@samp{-nx}オプションを使えば初期化ファイルは実行されません (@pxref{Mode Options, ,Choosing Modes})。 | |
1100 | +@samp{-nx}オプションを使えば、初期化ファイルは実行されません (@pxref{Mode Options, ,Choosing Modes})。 | |
1100 | 1101 | |
1101 | 1102 | 起動時にgdbによってロードされる初期化ファイルのリストを表示するには、@kbd{gdb --help}を使ってください。 |
1102 | 1103 | |
1103 | 1104 | @cindex init file name |
1104 | 1105 | @cindex @file{.gdbinit} |
1105 | 1106 | @cindex @file{gdb.ini} |
1106 | -@value{GDBN}の初期化ファイルは通常@file{.gdbinit}という名前です。 | |
1107 | +通常、@value{GDBN}の初期化ファイルは@file{.gdbinit}という名前です。 | |
1107 | 1108 | DJGPPに移植された@value{GDBN}では、DOSファイルシステムからくる制約のため、@file{gdb.ini}という名前を使っています。 |
1108 | 1109 | Windowsに移植された@value{GDBN}では先の標準的な名前を使いますが、@file{gdb.ini}ファイルを見つけると、警告を出力し、ファイル名を標準的なものに変更するように提案します。 |
1109 | 1110 |
@@ -1152,7 +1153,7 @@ Windowsに移植された@value{GDBN}では先の標準的な名前を使いま | ||
1152 | 1153 | @cindex calling make |
1153 | 1154 | @item make @var{make-args} |
1154 | 1155 | 指定された引数で@code{make}プログラムを実行します。 |
1155 | -これは@samp{shell make @var{make-args}}と同等です。 | |
1156 | +これは、@samp{shell make @var{make-args}}と同等です。 | |
1156 | 1157 | @end table |
1157 | 1158 | |
1158 | 1159 | @node Logging Output |
@@ -1175,9 +1176,9 @@ Windowsに移植された@value{GDBN}では先の標準的な名前を使いま | ||
1175 | 1176 | デフォルトのログファイルは@file{gdb.txt}です。 |
1176 | 1177 | @item set logging overwrite [on|off] |
1177 | 1178 | デフォルトではログファイルに追記します。 |
1178 | -そうではなく@code{set loggin on}でログファイルを上書きさせたい場合には@code{overwrite}をセットしてください。 | |
1179 | +そうではなく、@code{set loggin on}でログファイルを上書きさせたい場合には、@code{overwrite}をセットしてください。 | |
1179 | 1180 | @item set logging redirect [on|off] |
1180 | -デフォルトでは端末とログファイルの両方に出力します。 | |
1181 | +デフォルトでは、端末とログファイルの両方に出力します。 | |
1181 | 1182 | ログファイルだけに出力させたい場合には@code{redirect}をセットしてください。 |
1182 | 1183 | @kindex show logging |
1183 | 1184 | @item show logging |
@@ -1188,7 +1189,7 @@ Windowsに移植された@value{GDBN}では先の標準的な名前を使いま | ||
1188 | 1189 | @chapter @value{GDBN}コマンド |
1189 | 1190 | |
1190 | 1191 | @value{GDBN}のコマンドは、そのコマンド名の最初の数文字までに省略することができます。 |
1191 | -ただし省略してもコマンドが一意に定まる場合だけです。 | |
1192 | +ただし、省略してもコマンドが一意に定まる場合だけです。 | |
1192 | 1193 | また、決まった@value{GDBN}コマンドを繰り返すには@key{RET}を入力するだけでかまいません。 |
1193 | 1194 | @key{TAB}キーを使ってコマンド名の残りの部分を補完することもできます(候補が複数ある場合にはその候補を表示します)。 |
1194 | 1195 |
@@ -1204,28 +1205,28 @@ Windowsに移植された@value{GDBN}では先の標準的な名前を使いま | ||
1204 | 1205 | @value{GDBN}コマンドは1行で入力します。 |
1205 | 1206 | 行の長さに制限はありません。 |
1206 | 1207 | コマンドはコマンド名で始まり、引数が続きます。 |
1207 | -引数はコマンドに応じた意味を持ちます。 | |
1208 | -例えば@code{step}は、@samp{step 5}のように、ステップする回数を示す数値を引数に取ります。 | |
1208 | +引数は、コマンドに応じた意味を持ちます。 | |
1209 | +例えば、@code{step}は、@samp{step 5}のように、ステップする回数を示す数値を引数に取ります。 | |
1209 | 1210 | @code{step}コマンドは引数無して使うこともできます。 |
1210 | 1211 | 引数を全く取らないコマンドもあります。 |
1211 | 1212 | |
1212 | 1213 | @cindex abbreviation |
1213 | -@value{GDBN}コマンドの名前は、省略してもコマンドが一意に定まる場合はいつも省略することができます。 | |
1214 | +@value{GDBN}コマンドの名前は、省略してもコマンドが一意に定まる場合は常に省略することができます。 | |
1214 | 1215 | 使用できるコマンドの省略形は、個々のコマンドに対する説明の中にリストされています。 |
1215 | 1216 | あいまいな省略形が許される場合もあります。 |
1216 | -例えば@code{s}で始まる名前を持つコマンドは他にもあるのに、@code{s}は@code{step}と同等として特別に定義されています。 | |
1217 | -省略形をテストするには、その省略形を@code{help}コマンドの引数として使ってください。 | |
1217 | +例えば、@code{s}で始まる名前を持つコマンドは他にもあるにも関わらず、@code{s}は、@code{step}と同等として特別に定義されています。 | |
1218 | +省略形をテストするには、その省略形を、@code{help}コマンドの引数として使ってください。 | |
1218 | 1219 | |
1219 | 1220 | @cindex repeating commands |
1220 | 1221 | @kindex RET @r{(repeat last command)} |
1221 | 1222 | @value{GDBN}への入力として空行を使う(単に@key{RET}をタイプする)と、一つ前のコマンドを繰り返すという意味になります。 |
1222 | -特定のコマンド(例えば@code{run}など)はこの方法で繰り返すことはできません。 | |
1223 | -そういったものは、意図せず繰り返して使った場合トラブルを引き起したり、あるいは繰り返す必要が無さそうなコマンドです。 | |
1224 | -ユーザ定義コマンドはこの繰り返す機能を無効にすることができます。 | |
1223 | +特定のコマンド(例えば、@code{run}など)はこの方法で繰り返すことはできません。 | |
1224 | +そういったものは、意図せず繰り返して使った場合トラブルを引き起したり、あるいは、繰り返す必要が無さそうなコマンドです。 | |
1225 | +ユーザ定義コマンドは、この繰り返す機能を無効にすることができます。 | |
1225 | 1226 | @xref{Define, dont-repeat}. |
1226 | 1227 | |
1227 | 1228 | @code{list}コマンドと@code{x}コマンドは、@key{RET}で繰り返した場合、入力されたものと同じことを繰り返すのではなく、新たな引数を生成します。 |
1228 | -これによってソースやメモリの走査が簡単になります。 | |
1229 | +これによって、ソースやメモリの走査が簡単になります。 | |
1229 | 1230 | |
1230 | 1231 | 別の用途に@key{RET}を使うこともあります。 |
1231 | 1232 | 広く使われる@code{more}ユーティリティで使われるのと同様に、長い出力を分割して出力するような場合です (@pxref{Screen Size,,Screen Size})。 |
@@ -1234,12 +1235,12 @@ Windowsに移植された@value{GDBN}では先の標準的な名前を使いま | ||
1234 | 1235 | @kindex # @r{(a comment)} |
1235 | 1236 | @cindex comment |
1236 | 1237 | @kbd{#}から行末までのテキストはコメントであって、何も行ないません。 |
1237 | -これは主にコマンドファイルの中で役に立ちます (@pxref{Command Files,,Command Files})。 | |
1238 | +これは、コマンドファイルの中で主に役に立ちます (@pxref{Command Files,,Command Files})。 | |
1238 | 1239 | |
1239 | 1240 | @cindex repeating command sequences |
1240 | 1241 | @kindex Ctrl-o @r{(operate-and-get-next)} |
1241 | 1242 | @kbd{Ctrl-o}バインディングは、複雑に並んだコマンドを順番に繰り返すのに便利です。 |
1242 | -このコマンドは@key{RET}と同じく現在入力されている行を受け付け、そして履歴から現在行に対応した次の行を取り出して編集できるようにします。 | |
1243 | +このコマンドは@key{RET}と同じく現在入力されている行を受け付け、そして、履歴から現在行に対応した次の行を取り出して編集できるようにします。 | |
1243 | 1244 | |
1244 | 1245 | @node Completion |
1245 | 1246 | @section コマンド名の補完 |
@@ -1250,8 +1251,8 @@ Windowsに移植された@value{GDBN}では先の標準的な名前を使いま | ||
1250 | 1251 | また、コマンド中の次のワードに対して妥当な候補を表示することができます。 |
1251 | 1252 | この機能は、@value{GDBN}のコマンド、@value{GDBN}のサブコマンド、プログラムのシンボル名に対して使うことができます。 |
1252 | 1253 | |
1253 | -@value{GDBN}に、ワードの残りの部分を補完させる場合は@key{TAB}を押してください。 | |
1254 | -候補が一つだけしかない場合には、そのワードを補完し、コマンドが完成するのを待ちます(あるいは@key{RET}が押されて、入力されるのを待ちます)。 | |
1254 | +ワードの残りの部分を@value{GDBN}に補完させる場合は@key{TAB}を押してください。 | |
1255 | +候補が一つだけしかない場合には、そのワードを補完し、コマンドが完成するのを待ちます(あるいは、@key{RET}が押されて、入力されるのを待ちます)。 | |
1255 | 1256 | 例えば、次のように入力した場合、 |
1256 | 1257 | |
1257 | 1258 | @c FIXME "@key" does not distinguish its argument sufficiently to permit |
@@ -1264,21 +1265,21 @@ Windowsに移植された@value{GDBN}では先の標準的な名前を使いま | ||
1264 | 1265 | |
1265 | 1266 | @noindent |
1266 | 1267 | @value{GDBN}は@samp{breakpoints}というワードの残りの部分を補完します。 |
1267 | -つまりそれが@samp{bre}で始まる唯一の@code{info}サブコマンドだからです。 | |
1268 | +つまり、それが、@samp{bre}で始まる唯一の@code{info}サブコマンドだからです。 | |
1268 | 1269 | |
1269 | 1270 | @smallexample |
1270 | 1271 | (@value{GDBP}) info breakpoints |
1271 | 1272 | @end smallexample |
1272 | 1273 | |
1273 | 1274 | @noindent |
1274 | -@code{info breakpoints}コマンドを実行するのに、ここで@key{RET}を押してもかまいませんし、@samp{breakpoints}が望んでいるコマンドではないような場合にはバックスペース押して別の文字を入力することもできます(初めから@code{info breakpoints}を実行したいのであれば、コマンド補完ではなくコマンドの省略を活用して、@samp{info bre}の直後に@key{RET}をタイプするだけでもかまいません)。 | |
1275 | +@code{info breakpoints}コマンドを実行するのに、ここで@key{RET}を押してもかまいませんし、@samp{breakpoints}が望んでいるコマンドではないような場合には、バックスペース押して別の文字を入力することもできます(初めから@code{info breakpoints}を実行したいのであれば、コマンド補完ではなくコマンドの省略を活用して、@samp{info bre}の直後に@key{RET}をタイプするだけでもかまいません)。 | |
1275 | 1276 | |
1276 | 1277 | @key{TAB}を押した際、次のワードに複数の候補があればベルが鳴ります。 |
1277 | 1278 | ここでさらに文字を追加して試してもよいですし、二度目の@key{TAB}を押すだけでもかまいません。 |
1278 | -@key{TAB}を押せば、@value{GDBN}はそのワードに対する補完候補を全て表示します。 | |
1279 | +@key{TAB}を押せば、@value{GDBN}は、そのワードに対する補完候補を全て表示します。 | |
1279 | 1280 | 例えば、@samp{make_}で始まる名前を持つサブルーチンにブレイクポイントを設定したいような場合、@kbd{b make_@key{TAB}}と入力したところで@value{GDBN}がベルを鳴らしただけだったとします。 |
1280 | -ここで@key{TAB}をもう一度入力すると、その文字列で始まるプログラム中の関数が全て表示されます。 | |
1281 | -例えば次のようになります。 | |
1281 | +@key{TAB}をもう一度ここで入力すると、その文字列で始まるプログラム中の関数が全て表示されます。 | |
1282 | +例えば、次のようになります。 | |
1282 | 1283 | |
1283 | 1284 | @smallexample |
1284 | 1285 | (@value{GDBP}) b make_ @key{TAB} |
@@ -1295,20 +1296,20 @@ make_command make_symbol_completion_list | ||
1295 | 1296 | 候補を表示した後、入力途中だったものをコピーしますので、続きを入力してコマンドを完成させることができます。 |
1296 | 1297 | |
1297 | 1298 | 最初から候補の一覧を表示したい場合には、@key{TAB}を二度押す代わりに@kbd{M-?}を入力してください。 |
1298 | -@kbd{M-?}は@kbd{@key{META ?}}という意味です。 | |
1299 | +@kbd{M-?}は、@kbd{@key{META ?}}という意味です。 | |
1299 | 1300 | (もし存在すれば)キーボードに@key{META}シフトとして指定されているキーを押しながら@kbd{?}をタイプすると入力できます。 |
1300 | 1301 | あるいは、@key{ESC}を押した後@kbd{?}をタイプしても入力できます。 |
1301 | 1302 | |
1302 | 1303 | @cindex quotes in commands |
1303 | 1304 | @cindex completion of quoted strings |
1304 | -時に、論理的には「ワード」であっても、通常ワードの表記に含めないようなカッコやその他の文字が含まれている文字列が必要になることがあります。 | |
1305 | +時に、論理的には「ワード」であっても、通常、ワードの表記に含めないようなカッコやその他の文字が含まれている文字列が必要になることがあります。 | |
1305 | 1306 | こういった場合にワード補完を働かせるためには、@code{'}(単一引用符)でワードを括ってください。 |
1306 | 1307 | |
1307 | 1308 | これが最も必要になりそうな場面は、C@t{++}の関数名を入力する時です。 |
1308 | -C@t{++}は関数オーバーロードを許しているからです(関数オーバーロードとは、同じ関数に対して、引数の型によって区別される複数の定義を行なうことです)。 | |
1309 | -例えばブレイクポイントを設定する場合に、@code{int}パラメータを取るバージョンの@code{name}である@code{name(int)}なのか、あるいは@code{float}パラメータを取る@code{name(float)}なのかを区別する必要があります。 | |
1309 | +C@t{++}は、関数オーバーロードを許しているからです(関数オーバーロードとは、同じ関数に対して、引数の型によって区別される複数の定義を行なうことです)。 | |
1310 | +例えば、ブレイクポイントを設定する場合に、@code{int}パラメータを取るバージョンの@code{name}である@code{name(int)}なのか、あるいは、@code{float}パラメータを取る@code{name(float)}なのかを区別する必要があります。 | |
1310 | 1311 | このような場合にワード補完の機能を使うには、関数名の冒頭に単一引用符@code{'}をタイプしてください。 |
1311 | -これは@value{GDBN}に対し、@key{TAB}や@kbd{M-?}を入力してワード補完をする場合に、通常より多くの情報を考慮する必要があることを知らせるものです。 | |
1312 | +これは、@key{TAB}や@kbd{M-?}を入力してワード補完をする場合に、通常より多くの情報を考慮する必要があることを@value{GDBN}に知らせるものです。 | |
1312 | 1313 | |
1313 | 1314 | @smallexample |
1314 | 1315 | (@value{GDBP}) b 'bubble( @kbd{M-?} |
@@ -1316,7 +1317,7 @@ bubble(double,double) bubble(int,int) | ||
1316 | 1317 | (@value{GDBP}) b 'bubble( |
1317 | 1318 | @end smallexample |
1318 | 1319 | |
1319 | -場合によっては、@value{GDBN}が名前を補完するのに引用符を使う必要があることを認識することがあります。 | |
1320 | +場合によっては、名前を補完するのに引用符を使う必要があることを@value{GDBN}が認識することがあります。 | |
1320 | 1321 | こういう場合、最初に引用符が入力されていないならば、(できるかぎり補完しながら)@value{GDBN}が引用符を挿入します。 |
1321 | 1322 | |
1322 | 1323 | @smallexample |
@@ -1326,7 +1327,7 @@ bubble(double,double) bubble(int,int) | ||
1326 | 1327 | @end smallexample |
1327 | 1328 | |
1328 | 1329 | @noindent |
1329 | -通常、オーバーロードされているシンボルを補完するように指示したとき、引数のリストをまだ入力していなければ、@value{GDBN}は引用符が必要であることを認識します(そして引用符を挿入します)。 | |
1330 | +通常、オーバーロードされているシンボルを補完するように指示したとき、引数のリストをまだ入力していなければ、@value{GDBN}は、引用符が必要であることを認識します(そして、引用符を挿入します)。 | |
1330 | 1331 | |
1331 | 1332 | オーバーロードされている関数について詳しくは別の節を参照してください (@pxref{C Plus Plus Expressions, ,C@t{++} Expressions})。 |
1332 | 1333 | オーバーロード問題を解決する機能を無効化するには、@code{set overloaded-resolution off}コマンドを使ってください。 |
@@ -1336,7 +1337,7 @@ bubble(double,double) bubble(int,int) | ||
1336 | 1337 | @cindex structure field name completion |
1337 | 1338 | @cindex completion of union field names |
1338 | 1339 | @cindex union field name completion |
1339 | -構造体のフィールドを参照する式の中で補完を行なう際、@value{GDBN}は、補完を左部分の型で有効なフィールド名に制限しようとします@footnote{ある種の式においては、有効であるにも関わらず、補完機能が混乱することがあります。 | |
1340 | +構造体のフィールドを参照する式の中で補完を行なう際、@value{GDBN}は、左部分の型で有効なフィールド名に補完を制限しようとします@footnote{ある種の式においては、有効であるにも関わらず、補完機能が混乱することがあります。 | |
1340 | 1341 | また、式の静的な型についてだけ検査し、動的な型については検査しません}。 |
1341 | 1342 | |
1342 | 1343 | @smallexample |
@@ -1347,7 +1348,7 @@ to_data to_flush to_isatty to_read to_write | ||
1347 | 1348 | |
1348 | 1349 | @noindent |
1349 | 1350 | このようになるのは@code{gdb_stdout}が@code{struct ui_file}型の変数だからです。 |
1350 | -この型は@value{GDBN}のソース中で次のように定義されています。 | |
1351 | +この型は、@value{GDBN}のソース中で次のように定義されています。 | |
1351 | 1352 | |
1352 | 1353 | @smallexample |
1353 | 1354 | struct ui_file |
@@ -1371,8 +1372,8 @@ struct ui_file | ||
1371 | 1372 | @cindex online documentation |
1372 | 1373 | @kindex help |
1373 | 1374 | |
1374 | -@value{GDBN}のコマンドに関する情報は、いつでも@value{GDBN}自身に表示させることができます。 | |
1375 | -それには@code{help}コマンドを使います。 | |
1375 | +@value{GDBN}のコマンドに関する情報は@value{GDBN}自身にいつでも表示させることができます。 | |
1376 | +それには、@code{help}コマンドを使います。 | |
1376 | 1377 | |
1377 | 1378 | @table @code |
1378 | 1379 | @kindex h @r{(@code{help})} |
@@ -1431,7 +1432,7 @@ Command name abbreviations are allowed if unambiguous. | ||
1431 | 1432 | @end smallexample |
1432 | 1433 | |
1433 | 1434 | @item help @var{command} |
1434 | -@code{help}の引数としてコマンド名を使用すると、@value{GDBN}はそのコマンドの使い方を簡単に表示します。 | |
1435 | +@code{help}の引数としてコマンド名を使用すると、そのコマンドの使い方を簡単に表示します。 | |
1435 | 1436 | |
1436 | 1437 | @kindex apropos |
1437 | 1438 | @item apropos @var{args} |
@@ -1476,12 +1477,12 @@ inspect | ||
1476 | 1477 | @end group |
1477 | 1478 | @end smallexample |
1478 | 1479 | |
1479 | -@noindent これは@sc{gnu} Emacsからの利用を想定しています。 | |
1480 | +@noindent これは、@sc{gnu} Emacsからの利用を想定しています。 | |
1480 | 1481 | @end table |
1481 | 1482 | |
1482 | 1483 | @code{help}コマンドに加え、@value{GDBN}の@code{info}コマンドや@code{show}コマンドを使うと、デバッグしているプログラムや@value{GDBN}自体の状態を問い合わせることができます。 |
1483 | -コマンドはそれぞれ多くのタイプの問い合わせをサポートしています。 | |
1484 | -このマニュアルではそれぞれについて適切な時に紹介していきます。 | |
1484 | +各コマンドは、多くのタイプの問い合わせをサポートしています。 | |
1485 | +このマニュアルでは、それぞれについて適切な時に紹介していきます。 | |
1485 | 1486 | 索引の@code{info}コマンドと@code{show}コマンドのところにあるリストには、サブコマンドを紹介しているページが網羅されています。 |
1486 | 1487 | @xref{Index}. |
1487 | 1488 |
@@ -1502,9 +1503,9 @@ inspect | ||
1502 | 1503 | |
1503 | 1504 | @kindex show |
1504 | 1505 | @item show |
1505 | -@code{info}とは対照的に、@code{show}は@value{GDBN}自体の状態を表示するためのものです。 | |
1506 | +@code{info}とは対照的に、@code{show}は、@value{GDBN}自体の状態を表示するためのものです。 | |
1506 | 1507 | @code{show}することのできるものの大部分は変更することができます。 |
1507 | -これには対応する@code{set}コマンドを使います。 | |
1508 | +これには、対応する@code{set}コマンドを使います。 | |
1508 | 1509 | 例えば、@code{set radix}を使用すると、表示に使う記数法を制御することができます。 |
1509 | 1510 | @code{show radix}とすると、現在使用している記数法を単に問い合わせます。 |
1510 | 1511 |
@@ -1518,8 +1519,8 @@ inspect | ||
1518 | 1519 | @end table |
1519 | 1520 | @c @end group |
1520 | 1521 | |
1521 | -ここに@code{show}のサブコマンドを三つ紹介します。 | |
1522 | -これらは全て、対応する@code{set}コマンドが存在しないという点でその他のものとは異なるものです。 | |
1522 | +ここに、@code{show}のサブコマンドを三つ紹介します。 | |
1523 | +これらは、全て、対応する@code{set}コマンドが存在しないという点でその他のものとは異なるものです。 | |
1523 | 1524 | |
1524 | 1525 | @table @code |
1525 | 1526 | @kindex show version |
@@ -1544,17 +1545,17 @@ inspect | ||
1544 | 1545 | @item show warranty |
1545 | 1546 | @itemx info warranty |
1546 | 1547 | @sc{gnu}の``NO WARRANTY''の宣言が表示されます。 |
1547 | -あるいは、使用している@value{GDBN}に保証が付いているならばその保証が表示されます。 | |
1548 | +あるいは、使用している@value{GDBN}に保証が付いているならば、その保証が表示されます。 | |
1548 | 1549 | |
1549 | 1550 | @end table |
1550 | 1551 | |
1551 | 1552 | @node Running |
1552 | 1553 | @chapter @value{GDBN}上でのプログラムの実行 |
1553 | 1554 | |
1554 | -@value{GDBN}上でプログラムを実行するときには、まず、プログラムのコンパイル時にデバッグ情報を生成しておかなければなりません。 | |
1555 | +@value{GDBN}上でプログラムを実行するときには、プログラムのコンパイル時にデバッグ情報をまず生成しておかなければなりません。 | |
1555 | 1556 | |
1556 | 1557 | 選択した環境において、必要があれば引数を付けて@value{GDBN}を起動します。 |
1557 | -もしネイティブデバッグをしているのでしたら、プログラムの入出力をリダイレクトしたり、起動済みのプロセスをデバッグしたり、あるいは、子プロセスをkillしたりすることができます。 | |
1558 | +もし、ネイティブデバッグをしているのであれば、プログラムの入出力をリダイレクトしたり、起動済みのプロセスをデバッグしたり、あるいは、子プロセスをkillしたりすることができます。 | |
1558 | 1559 | |
1559 | 1560 | @menu |
1560 | 1561 | * Compilation:: デバッグのためのコンパイル |
@@ -1577,29 +1578,30 @@ inspect | ||
1577 | 1578 | @section デバッグのためのコンパイル |
1578 | 1579 | |
1579 | 1580 | プログラムの効率的なデバッグのためには、プログラムをコンパイルする際にデバッグ情報を生成する必要があります。 |
1580 | -このデバッグ情報はオブジェクトファイルの中に格納されていて、各変数関数のデータ型や、ソースの行番号と実行ファイルコード内のアドレスの対応関係を表わしています。 | |
1581 | +このデバッグ情報は、オブジェクトファイルの中に格納されていて、各変数関数のデータ型や、ソースの行番号と実行ファイルコード内のアドレスの対応関係を表わしています。 | |
1581 | 1582 | |
1582 | 1583 | デバッグ情報を生成するには、コンパイラを実行する時に@samp{-g}オプションを指定してください。 |
1583 | 1584 | |
1584 | -顧客に出荷されるプログラムというのは、コンパイラの@samp{-O}オプションを使って最適化されますが、コンパイラによっては、@samp{-g}オプションと@samp{-O}オプションを同時に処理できないようになっているものもあります。 | |
1585 | +顧客に出荷されるプログラムというのは、コンパイラの@samp{-O}オプションを使って最適化されます。 | |
1586 | +コンパイラによっては、@samp{-g}オプションと@samp{-O}オプションを同時に処理できないようになっているものもあります。 | |
1585 | 1587 | そのようなコンパイラの場合は、デバッグ情報を持った最適化済み実行ファイルを生成することはできません。 |
1586 | 1588 | |
1587 | 1589 | @sc{gnu} C/C@t{++}コンパイラである@value{NGCC}は、@samp{-O}を指定しているかどうかに関係なく@samp{-g}をサポートしています。 |
1588 | -これは最適化されたコードをデバッグできるようにするためです。 | |
1589 | -プログラムをコンパイルする場合には@emph{常に}@samp{-g}オプションを使用することを推奨します。 | |
1590 | +これは、最適化されたコードをデバッグできるようにするためです。 | |
1591 | +プログラムをコンパイルする場合には、@samp{-g}オプションを@emph{常に}使用することを推奨します。 | |
1590 | 1592 | 自分のプログラムに間違ったところは無いと思うことがあるかもしれませんが、調子に乗ったところで良いことはありません。 |
1591 | 1593 | 詳細は別の節を参照してください (@pxref{Optimized Code})。 |
1592 | 1594 | |
1593 | 1595 | @sc{gnu} Cコンパイラの古いバージョンでは、デバッグ情報に関する@w{@samp{-gg}}という別のオプションがありました。 |
1594 | -@value{GDBN}はこれによって生成されるフォーマットを既にサポートしていません。 | |
1596 | +@value{GDBN}は、これによって生成されるフォーマットを既にサポートしていません。 | |
1595 | 1597 | 使用している@sc{gnu} Cコンパイラにこのオプションがあったとしても使用しないようにしてください。 |
1596 | 1598 | |
1597 | -@value{GDBN}はプリプロセッサによるマクロを認識し、展開を表示することができます (@pxref{Macros})。 | |
1599 | +@value{GDBN}は、プリプロセッサによるマクロを認識し、展開を表示することができます (@pxref{Macros})。 | |
1598 | 1600 | 大半のコンパイラは、@option{-g}フラグを指定しただけではデバッグ情報の中にプリプロセッサマクロに関する情報を含めることはありません。 |
1599 | 1601 | そういった情報がかなり巨大なものとなるからです。 |
1600 | 1602 | @sc{gnu} Cコンパイラ@value{NGCC}のバージョン3.1以降では、@option{-gdwarf-2}オプションと@option{-g3}オプションを指定した場合にマクロの情報を出力します。 |
1601 | -前者はDwarf 2フォーマットでデバッグ情報を出力させるもの、後者は「追加情報」を出力させるものです。 | |
1602 | -マクロ情報を表現するもっとコンパクトな方法を探して、行く行くは@option{-g}オプションだけで情報を出力するようにしたいと考えています。 | |
1603 | +前者は、Dwarf 2フォーマットでデバッグ情報を出力させるもの、後者は、「追加情報」を出力させるものです。 | |
1604 | +マクロ情報を表現するもっとコンパクトな方法を探して、行く行くは、@option{-g}オプションだけで情報を出力するようにしたいと考えています。 | |
1603 | 1605 | |
1604 | 1606 | @need 2000 |
1605 | 1607 | @node Starting |
@@ -1618,8 +1620,8 @@ inspect | ||
1618 | 1620 | |
1619 | 1621 | @end table |
1620 | 1622 | |
1621 | -プロセスをサポートしている実行環境でプログラムを実行しているのであれば、@code{run}コマンドは下位のプロセスを生成し、そのプロセスにユーザのプログラムを実行させます。 | |
1622 | -プロセスが無い環境の場合には、@code{run}コマンドはユーザプログラムの開始位置へとジャンプします。 | |
1623 | +プロセスをサポートしている実行環境でプログラムを実行しているのであれば、@code{run}コマンドは下位のプロセスを生成し、ユーザプログラムをそのプロセスに実行させます。 | |
1624 | +プロセスが無い環境の場合には、@code{run}コマンドは、ユーザプログラムの開始位置へとジャンプします。 | |
1623 | 1625 | @samp{remote}のようなターゲットの場合は常に実行中です。 |
1624 | 1626 | 次のようなエラーメッセージを受け取ったならば、@code{continue}コマンドを使ってプログラムを実行してください。 |
1625 | 1627 |
@@ -1631,10 +1633,10 @@ Try "help target" or "continue". | ||
1631 | 1633 | @noindent |
1632 | 1634 | 先に@code{load}する必要があるかもしれません (@pxref{load})。 |
1633 | 1635 | |
1634 | -プログラムの実行は上位のプロセスから受け取る特定の情報によって影響を受けます。 | |
1635 | -@value{GDBN}はこの種の情報を指定する方法を用意しています。 | |
1636 | -これはユーザプログラムを開始する@emph{前に}行なわなければなりません(プログラムを開始した後に変更することもできますが、その変更はその次にプログラムを実行する時に反映されます)。 | |
1637 | -この情報は四つのカテゴリに分けることができます。 | |
1636 | +プログラムの実行は、上位のプロセスから受け取る特定の情報によって影響を受けます。 | |
1637 | +@value{GDBN}は、この種の情報を指定する方法を用意しています。 | |
1638 | +これは、ユーザプログラムを開始する@emph{前に}行なわなければなりません(プログラムを開始した後に変更することもできますが、その変更は、その次にプログラムを実行する時に反映されます)。 | |
1639 | +この情報は、四つのカテゴリに分けることができます。 | |
1638 | 1640 | |
1639 | 1641 | @table @asis |
1640 | 1642 | @item @emph{引数} |
@@ -1645,7 +1647,7 @@ Unixシステムでは、@code{SHELL}環境変数を使って使用するシェ | ||
1645 | 1647 | @xref{Arguments, ,Your Program's Arguments}. |
1646 | 1648 | |
1647 | 1649 | @item @emph{環境} |
1648 | -プログラムは通常@value{GDBN}から環境を引き継ぎますが、@value{GDBN}コマンドの@code{set environment}と@code{unset environment}を使えば、ユーザプログラムに作用する環境の一部を変更することができます。 | |
1650 | +通常、プログラムは@value{GDBN}から環境を引き継ぎますが、@value{GDBN}の@code{set environment}コマンドと@code{unset environment}コマンドを使えば、ユーザプログラムに作用する環境の一部を変更することができます。 | |
1649 | 1651 | @xref{Environment, ,Your Program's Environment}. |
1650 | 1652 | |
1651 | 1653 | @item @emph{作業ディレクトリ} |
@@ -1654,21 +1656,21 @@ Unixシステムでは、@code{SHELL}環境変数を使って使用するシェ | ||
1654 | 1656 | @xref{Working Directory, ,Your Program's Working Directory}. |
1655 | 1657 | |
1656 | 1658 | @item @emph{標準入出力} |
1657 | -ユーザプログラムは通常、@value{GDBN}が使用しているのと同じデバイスを標準入出力として使用します。 | |
1659 | +ユーザプログラムは、通常、@value{GDBN}が使用しているのと同じデバイスを標準入出力として使用します。 | |
1658 | 1660 | @code{run}コマンドのコマンドラインで入出力をリダイレクトすることができますし、あるいは、プログラムに対して異なるデバイスを設定するのに@code{tty}コマンドを使用することもできます。 |
1659 | 1661 | @xref{Input/Output, ,Your Program's Input and Output}. |
1660 | 1662 | |
1661 | 1663 | @cindex pipes |
1662 | 1664 | @emph{注意:} 入出力をリダイレクトしている作業の間は、デバッグ中のプログラムの出力を別のプログラムヘ渡すためにパイプを使うことはできません。 |
1663 | -これを試みた場合、@value{GDBN}は間違ったプログラムのデバッグをしてしまうことになるかもしれません。 | |
1665 | +これを試みた場合、@value{GDBN}は、間違ったプログラムのデバッグをしてしまうことになるかもしれません。 | |
1664 | 1666 | @end table |
1665 | 1667 | |
1666 | -@code{run}コマンドを実行するとプログラムはただちに実行を開始します。 | |
1668 | +@code{run}コマンドを実行すると、プログラムはただちに実行を開始します。 | |
1667 | 1669 | プログラムを停止させる手順については別の節を参照してください (@pxref{Stopping, ,Stopping and Continuing})。 |
1668 | 1670 | 一度プログラムが停止すると、@code{print}コマンドや@code{call}コマンドを使って、プログラム中の関数を呼び出すことができます。 |
1669 | 1671 | @xref{Data, ,Examining Data}. |
1670 | 1672 | |
1671 | -シンボルファイルの修正時刻がシンボルを最後に読み込んだ時刻から後に変更されている場合、@value{GDBN}は読み込んでいたシンボルテーブル破棄し、再び読み込みなおします。 | |
1673 | +シンボルファイルの修正時刻が、シンボルを最後に読み込んだ時刻から後に変更されている場合、@value{GDBN}は、読み込んでいたシンボルテーブル破棄し、再び読み込みなおします。 | |
1672 | 1674 | この時、設定されているブレイクポイントを可能なかぎり保持します。 |
1673 | 1675 | |
1674 | 1676 | @table @code |
@@ -1676,42 +1678,42 @@ Unixシステムでは、@code{SHELL}環境変数を使って使用するシェ | ||
1676 | 1678 | @item start |
1677 | 1679 | @cindex run to main procedure |
1678 | 1680 | メインプロシージャの名前は言語によって様々です。 |
1679 | -CやC@t{++}ではメインプロシージャの名前は常に@code{main}ですが、例えばAdaのような言語のように、メインプロシージャとして特定の名前を必要としない言語もあります。 | |
1681 | +CやC@t{++}では、メインプロシージャの名前は常に@code{main}ですが、例えば、Adaのような言語のように、メインプロシージャとして特定の名前を必要としない言語もあります。 | |
1680 | 1682 | このデバッガでは、使用言語に応じて、プログラムの実行を開始したり、メインプロシージャの始めで停止したりする簡単な方法を提供しています。 |
1681 | 1683 | |
1682 | -@samp{start}コマンドはメインプロシージャの冒頭部分に仮のブレイクポイントを設定し、それから@samp{run}コマンドを実行するのと同じことを行ないます。 | |
1684 | +@samp{start}コマンドは、メインプロシージャの冒頭部分に仮のブレイクポイントを設定し、それから、@samp{run}コマンドを実行するのと同じことを行ないます。 | |
1683 | 1685 | |
1684 | 1686 | @cindex elaboration phase |
1685 | 1687 | プログラムによっては、メインプロシージャが呼び出される前に、何らかのスタートアップコードが実行される@dfn{エラボレーション}フェイズを持つものがあります。 |
1686 | -これはユーザプログラムを記述するのに使用した言語によって異なります。 | |
1687 | -例えばC@t{++}では、@code{main}が呼び出される前に、静的オブジェクトやグローバルオブジェクトのコンストラクタが実行されます。 | |
1688 | -ですので、メインプロシージャへ到達する前にデバッガが停止する可能性があります。 | |
1689 | -しかし、その仮に設定されたブレイクポイントは実行を中断させるべく存続します。 | |
1688 | +これは、ユーザプログラムを記述するのに使用した言語によって異なります。 | |
1689 | +例えば、C@t{++}では、@code{main}が呼び出される前に、静的オブジェクトやグローバルオブジェクトのコンストラクタが実行されます。 | |
1690 | +ですから、メインプロシージャへ到達する前にデバッガが停止する可能性があります。 | |
1691 | +しかし、仮に設定されたそのブレイクポイントは実行を中断させるべく存続します。 | |
1690 | 1692 | |
1691 | 1693 | プログラムに渡す引数は、@samp{start}コマンドの引数として指定します。 |
1692 | 1694 | それらの引数は、内包する@samp{run}コマンドにそのまま引き渡されます。 |
1693 | -後でまた@samp{start}あるいは@samp{run}を呼び出す時に引数を指定しなければ、同一の引数が再利用されますので注意してください。 | |
1695 | +後でまた@samp{start}コマンド、あるいは、@samp{run}コマンドを呼び出す時に引数を指定しなければ、同一の引数が再利用されますので注意してください。 | |
1694 | 1696 | |
1695 | 1697 | エラボレーションの間にプログラムをデバッグしなければならない場合が時々あります。 |
1696 | 1698 | こういった場合、@code{start}コマンドを使っても、エラボレーションフェイズが完了してしまっていて、プログラムの実行を停止するのが遅すぎてしまうということになります。 |
1697 | -こういった状態の場合は、プログラムを実行する前にエラボレーションコードにブレイクポイントを挿入してください。 | |
1699 | +こういった状態の場合は、プログラムを実行する前に、エラボレーションコードにブレイクポイントを挿入してください。 | |
1698 | 1700 | |
1699 | 1701 | @kindex set exec-wrapper |
1700 | 1702 | @item set exec-wrapper @var{wrapper} |
1701 | 1703 | @itemx show exec-wrapper |
1702 | 1704 | @itemx unset exec-wrapper |
1703 | -@samp{exec-wrapper}を設定すると、デバッグするプログラムを起動するのに指定したラッパーを使用します。 | |
1705 | +@samp{exec-wrapper}を設定すると、デバッグするプログラムを起動するのに、指定したラッパーを使用します。 | |
1704 | 1706 | @value{GDBN}は、@kbd{exec @var{wrapper} @var{program}}という書式のシェルコマンドでプログラムを起動します。 |
1705 | 1707 | @var{program}とその引数には引用符が追加されますが、@var{wrapper}には追加されません。 |
1706 | -ですので使用しているシェルに応じて引用符を追加しなければなりません。 | |
1707 | -ラッパーはユーザのプログラムがexecuteされるまで実行され、それから@value{GDBN}が制御します。 | |
1708 | +ですから、使用しているシェルに応じて引用符を追加しなければなりません。 | |
1709 | +ユーザのプログラムがexecuteされるまでラッパーは実行され、それから、@value{GDBN}が制御します。 | |
1708 | 1710 | |
1709 | -指定された引数を使って最終的に@code{execve}を呼び出すプログラムは全てラッパープログラムとして使用することができます。 | |
1711 | +指定された引数を使って最終的に@code{execve}を呼び出すプログラムはラッパープログラムとして全て使用することができます。 | |
1710 | 1712 | いくつかの標準的なUnixユーティリティがこれを行ないます。 |
1711 | -例えば@code{env}や@code{nohup}です。 | |
1713 | +例えば、@code{env}や@code{nohup}です。 | |
1712 | 1714 | また、@code{exec "$@@"}で終わるUnixのシェルスクリプトであれば、どのようなものでもうまく動作するでしょう。 |
1713 | 1715 | |
1714 | -例えば@code{env}は、シェル環境に変数を設定することなく、デバッグされるプログラムに環境変数を渡すのに使用することができます。 | |
1716 | +例えば、@code{env}は、シェル環境に変数を設定することなく、デバッグされるプログラムに環境変数を渡すのに使用することができます。 | |
1715 | 1717 | |
1716 | 1718 | @smallexample |
1717 | 1719 | (@value{GDBP}) set exec-wrapper env 'LD_PRELOAD=libtest.so' |
@@ -1832,7 +1834,7 @@ Unixシステムでない場合は、プログラムは通常@value{GDBN}によ | ||
1832 | 1834 | @c "any string" here does not include leading, trailing |
1833 | 1835 | @c blanks. Gnu asks: does anyone care? |
1834 | 1836 | |
1835 | -例えば次のコマンドを見てください。 | |
1837 | +例えば、次のコマンドを見てください。 | |
1836 | 1838 | |
1837 | 1839 | @smallexample |
1838 | 1840 | set env USER = foo |
@@ -1851,7 +1853,7 @@ set env USER = foo | ||
1851 | 1853 | |
1852 | 1854 | @emph{注意:} Unixシステムでは、環境変数@code{SHELL}が存在すれば、その値が示すシェルを使って@value{GDBN}がユーザプログラムを実行します(変数が存在しなければ@code{/bin/sh})。 |
1853 | 1855 | もし@code{SHELL}変数が、Cシェルなら@file{.cshrc}あるいはBASHなら@file{.bashrc}といったように、初期化ファイルを実行するシェルを指定しているならば、その初期化ファイルで設定されている変数は全てユーザプログラムの実行に作用します。 |
1854 | -ですので、ログオンしたときにだけ実行される、@file{.login}や@file{.profile}といったようなファイルに環境変数の設定を移動させたいと思うことがあるかもしれません。 | |
1856 | +ですから、ログオンしたときにだけ実行される、@file{.login}や@file{.profile}といったようなファイルに環境変数の設定を移動させたいと思うことがあるかもしれません。 | |
1855 | 1857 | |
1856 | 1858 | @node Working Directory |
1857 | 1859 | @section ユーザプログラムの作業ディレクトリ |
@@ -1893,7 +1895,7 @@ set env USER = foo | ||
1893 | 1895 | @end table |
1894 | 1896 | |
1895 | 1897 | @code{run}コマンドでは、シェルのリダイレクションを使ってユーザプログラムの入出力をリダイレクトすることができます。 |
1896 | -例えば次のようにします。 | |
1898 | +例えば、次のようにします。 | |
1897 | 1899 | |
1898 | 1900 | @smallexample |
1899 | 1901 | run > outfile |
@@ -2171,7 +2173,7 @@ Added inferior 2. | ||
2171 | 2173 | ここで、@code{hello}というプログラムを実行中のインフィアリアは無いことが分かりますが、他方、@code{process 21561}はプログラム@code{goodbye}を実行中です。 |
2172 | 2174 | ターゲットによっては、同じプログラム空間に複数のインフィアリアが結び付けられることが可能なものもあります。 |
2173 | 2175 | 最も一般的な例は、@code{vfork}コールの親プロセスと子プロセスの両方をデバッグする場合です。 |
2174 | -例えば次のようになります。 | |
2176 | +例えば、次のようになります。 | |
2175 | 2177 | |
2176 | 2178 | @smallexample |
2177 | 2179 | (@value{GDBP}) maint info program-spaces |
@@ -2189,7 +2191,7 @@ Added inferior 2. | ||
2189 | 2191 | @cindex threads of execution |
2190 | 2192 | @cindex multiple threads |
2191 | 2193 | @cindex switching threads |
2192 | -例えばHP-UXやSolarisのように、オペレーティングシステムによっては一つのプログラムが複数の@dfn{スレッド}を実行する場合があります。 | |
2194 | +例えば、HP-UXやSolarisのように、オペレーティングシステムによっては一つのプログラムが複数の@dfn{スレッド}を実行する場合があります。 | |
2193 | 2195 | 「スレッド」の正確な意味はオペレーティングシステムによって異なりますが、一般に、シングルプログラムによるマルチスレッドというのはマルチプロセスと類似しています。 |
2194 | 2196 | ただしスレッドは一つのアドレス空間を共有するという点が異なります(つまりスレッドは全て、同じ変数を検証したり、変更したりすることができます)。 |
2195 | 2197 | その一方で、各スレッドには独自のレジスタや実行スタック、そして恐らくはプライベートな記憶領域も備えています。 |
@@ -2235,7 +2237,7 @@ see the IDs of currently known threads. | ||
2235 | 2237 | @c thread without first checking `info threads'. |
2236 | 2238 | @value{GDBN}がユーザプログラムにおいて新たなスレッドを検出した時は、@samp{[New @var{systag}]}という書式のメッセージで、そのスレッドに対するターゲットシステムの識別子を表示します。 |
2237 | 2239 | @var{systag}はスレッド識別子で、それぞれのシステムによって様々な形式になります。 |
2238 | -例えば@sc{gnu}/Linuxの場合、@value{GDBN}が新たなスレッドを通知する時、次のようなものが表示されます。 | |
2240 | +例えば、@sc{gnu}/Linuxの場合、@value{GDBN}が新たなスレッドを通知する時、次のようなものが表示されます。 | |
2239 | 2241 | |
2240 | 2242 | @smallexample |
2241 | 2243 | [New Thread 46912507313328 (LWP 25582)] |
@@ -2277,7 +2279,7 @@ see the IDs of currently known threads. | ||
2277 | 2279 | @noindent |
2278 | 2280 | @value{GDBN}のスレッド番号の左に付けられたアスタリスク@samp{*}は、カレントスレッドであることを示しています。 |
2279 | 2281 | |
2280 | -例えば次のようになります。 | |
2282 | +例えば、次のようになります。 | |
2281 | 2283 | @end table |
2282 | 2284 | @c end table here to get a little more width for example |
2283 | 2285 |
@@ -2303,7 +2305,7 @@ HP-UXシステムでは以下の通りです。 | ||
2303 | 2305 | @c thread without first checking `info threads'. |
2304 | 2306 | @value{GDBN}がユーザプログラムにおいて新たなスレッドを検出した時は、@samp{[New @var{systag}]}という書式のメッセージで、スレッドに対する@value{GDBN}のスレッド番号とターゲットシステムの識別子を両方とも表示します。 |
2305 | 2307 | @var{systag}は、それぞれのシステムによって様々な形式になります。 |
2306 | -例えばHP-UXの場合、@value{GDBN}が新たなスレッドを通知する時、 | |
2308 | +例えば、HP-UXの場合、@value{GDBN}が新たなスレッドを通知する時、 | |
2307 | 2309 | |
2308 | 2310 | @smallexample |
2309 | 2311 | [New thread 2 (system thread 26594)] |
@@ -2329,7 +2331,7 @@ HP-UXシステムでは以下の通りです。 | ||
2329 | 2331 | @noindent |
2330 | 2332 | @value{GDBN}のスレッド番号の左にあるアスタリスク@samp{*}は、カレントスレッドを示しています。 |
2331 | 2333 | |
2332 | -例えば次のようになります。 | |
2334 | +例えば、次のようになります。 | |
2333 | 2335 | @end table |
2334 | 2336 | @c end table here to get a little more width for example |
2335 | 2337 |
@@ -2546,10 +2548,10 @@ Program exited normally. | ||
2546 | 2548 | @item same |
2547 | 2549 | 束縛されているそのプロセスを同じインフィアリアに保持しておきます。 |
2548 | 2550 | そのインフィアリアにロードされていた前の実行ファイルは、新しい実行ファイルのイメージに置き換えられます。 |
2549 | -例えば@code{run}コマンドなどを使って、@code{exec}関数が呼び出された後にこのインフィアリアが再始動されると、@code{exec}関数の呼び出し後にそのプロセスが実行していた実行ファイルが再始動されます。 | |
2551 | +例えば、@code{run}コマンドなどを使って、@code{exec}関数が呼び出された後にこのインフィアリアが再始動されると、@code{exec}関数の呼び出し後にそのプロセスが実行していた実行ファイルが再始動されます。 | |
2550 | 2552 | これがデフォルトのモードです。 |
2551 | 2553 | |
2552 | -例えば次のようになります。 | |
2554 | +例えば、次のようになります。 | |
2553 | 2555 | |
2554 | 2556 | @smallexample |
2555 | 2557 | (@value{GDBP}) info inferiors |
@@ -2585,7 +2587,7 @@ Program exited normally. | ||
2585 | 2587 | これには、メモリやレジスタの変更、またいくらか制限はあるもののシステム状態の変化でさえも含まれます。 |
2586 | 2588 | 実際のところ、チェックポイントが保存された時点へ時間を遡るようなものです。 |
2587 | 2589 | |
2588 | -ですので、プログラムを通してステップ実行していて、何かうまくいかない地点に近付いてきたと思ったならば、チェックポイントを保存することができます。 | |
2590 | +ですから、プログラムを通してステップ実行していて、何かうまくいかない地点に近付いてきたと思ったならば、チェックポイントを保存することができます。 | |
2589 | 2591 | そうすれば、うっかり行き過ぎてしまって、問題のステートメントを逃がしてしまった場合、プログラムを最初から再実行する代わりに、単にそのチェックポイントに立ち返り、そこから再スタートすることができます。 |
2590 | 2592 | |
2591 | 2593 | 特に、バグ発生しているのではないかと思われる地点まで到達するのに時間や多くのステップが必要な場合に便利です。 |
@@ -2798,8 +2800,8 @@ C@t{++}のように、シンボルのオーバーロードを許すソース言 | ||
2798 | 2800 | これは、SPARClite DSUや多くのx86ベースターゲットによって用意されている、新しいトラップ発生機能で使用することができます。 |
2799 | 2801 | これらのターゲットでは、デバッグレジスタへ割り当てられているデータアドレスや命令アドレスにプログラムがアクセスするとトラップを発生させます。 |
2800 | 2802 | しかし、ハードウェアのブレイクポイントレジスタは決まった数のブレイクポイントしか取り扱えません。 |
2801 | -例えばDSUの場合、同時に二つのデータブレイクポイントしか設定できませんので、三つ以上使おうとすると、@value{GDBN}はこのコマンドを拒絶します。 | |
2802 | -ですので、新しくハードウェアブレイクポイントを設定する前に使用していないものを削除したり無効化したりするようにしてください (@pxref{Disabling, ,Disabling Breakpoints})。 | |
2803 | +例えば、DSUの場合、同時に二つのデータブレイクポイントしか設定できませんので、三つ以上使おうとすると、@value{GDBN}はこのコマンドを拒絶します。 | |
2804 | +ですから、新しくハードウェアブレイクポイントを設定する前に使用していないものを削除したり無効化したりするようにしてください (@pxref{Disabling, ,Disabling Breakpoints})。 | |
2803 | 2805 | @xref{Conditions, ,Break Conditions}. |
2804 | 2806 | リモートターゲットに対しては、@value{GDBN}が使用するハードウェアブレイクポイントの数を制限することができます。 |
2805 | 2807 | @xref{set remote hardware-breakpoint-limit}. |
@@ -2827,7 +2829,7 @@ See also @ref{Conditions, ,Break Conditions}. | ||
2827 | 2829 | ただし、シェルで使用されるシンタックスとは異なりますので注意が必要です。 |
2828 | 2830 | そのため、例えば@code{foo*}ならば、ゼロ個以上の@code{o}が後に続く@code{fo}を含む全ての関数とマッチします。 |
2829 | 2831 | 指定した正規表現の前後には暗黙のうちに@code{.*}が付加されます。 |
2830 | -ですので、@code{foo}で始まる名前を持つ関数だけにマッチさせたい場合には、@code{^foo}と書くようにしてください。 | |
2832 | +ですから、@code{foo}で始まる名前を持つ関数だけにマッチさせたい場合には、@code{^foo}と書くようにしてください。 | |
2831 | 2833 | |
2832 | 2834 | @cindex non-member C@t{++} functions, set breakpoint in |
2833 | 2835 | C@t{++}プログラムをデバッグしている時は、特定のクラスのメンバとなっているわけではないオーバーロード関数にブレイクポイントを設定するのに、この@code{rbreak}コマンドが便利です。 |
@@ -2925,7 +2927,7 @@ C@t{++}のテンプレート関数について、その関数の行は多数の | ||
2925 | 2927 | 各位置に関する行は実際のアドレスが入っていて、その関数が表示されています。 |
2926 | 2928 | 各位置の番号の欄には、@var{breakpoint-number}.@var{location-number}の書式で記載されています。 |
2927 | 2929 | |
2928 | -例えば次のようになります。 | |
2930 | +例えば、次のようになります。 | |
2929 | 2931 | |
2930 | 2932 | @smallexample |
2931 | 2933 | Num Type Disp Enb Address What |
@@ -3640,7 +3642,7 @@ No symbol "foo" in current context. | ||
3640 | 3642 | @code{silent}コマンドが設定されたブレイクポイントで使用すると便利です。 |
3641 | 3643 | @xref{Output, ,Commands for Controlled Output}. |
3642 | 3644 | |
3643 | -例えば次のものは、@code{foo}のエントリにおいて、@code{x}が正であれば、@code{x}の値を表示するのにブレイクポイントコマンドを使用する例です。 | |
3645 | +例えば、次のものは、@code{foo}のエントリにおいて、@code{x}が正であれば、@code{x}の値を表示するのにブレイクポイントコマンドを使用する例です。 | |
3644 | 3646 | |
3645 | 3647 | @smallexample |
3646 | 3648 | break foo if x>0 |
@@ -3866,7 +3868,7 @@ to 0x00010410. | ||
3866 | 3868 | カレントスタックフレームを抜け出そうと試みると、@code{until}は常にプログラムを停止させます。 |
3867 | 3869 | |
3868 | 3870 | マシンコードの順序がソース行の順序と一致しない場合、@code{until}は幾分直感に反する結果となるかもしれません。 |
3869 | -例えば以下はあるデバッグセッションの抄録ですが、@code{f} (@code{frame}) コマンドは、実行が@code{206}行目で停止していることを示しています。 | |
3871 | +例えば、以下はあるデバッグセッションの抄録ですが、@code{f} (@code{frame}) コマンドは、実行が@code{206}行目で停止していることを示しています。 | |
3870 | 3872 | しかし、@code{until}を使用すると@code{195}行目にやってきます。 |
3871 | 3873 | |
3872 | 3874 | @smallexample |
@@ -3890,7 +3892,7 @@ to 0x00010410. | ||
3890 | 3892 | この書式のコマンドは一時的なブレイクポイントを使用しますので、引数の無い@code{until}コマンドよりも早いです。 |
3891 | 3893 | 指定された位置がカレントフレームにある場合にだけ実際にそこへ到達します。 |
3892 | 3894 | これは、再帰する関数呼び出しを飛び越すのに@code{until}が使われうるという意味でもあります。 |
3893 | -例えば以下のコードにおいて、現在位置が@code{96}行目の場合、@code{until 99}を実行すると、factorialの同じ呼び出しの中の@code{99}行目になるまで、すなわち内側の関数呼び出しが全てリターンした後になるまでプログラムが実行されます。 | |
3895 | +例えば、以下のコードにおいて、現在位置が@code{96}行目の場合、@code{until 99}を実行すると、factorialの同じ呼び出しの中の@code{99}行目になるまで、すなわち内側の関数呼び出しが全てリターンした後になるまでプログラムが実行されます。 | |
3894 | 3896 | |
3895 | 3897 | @smallexample |
3896 | 3898 | 94 int factorial (int value) |
@@ -3940,7 +3942,7 @@ to 0x00010410. | ||
3940 | 3942 | @cindex signals |
3941 | 3943 | シグナルとはプログラムで発生する非同期のイベントです。 |
3942 | 3944 | オペレーティングシステムは使用可能なシグナルを定義し、それぞれに名前と番号を与えています。 |
3943 | -例えばUnixでは、@code{SIGINT}は割り込み文字(よくあるのは@kbd{Ctrl-c})をタイプした時にプログラムが受け取るシグナル、また、@code{SIGSEGV}は使用中のメモリ領域から遠く離れたメモリの場所を参照した時にプログラムが受け取るシグナル、さらに、@code{SIGALRM}はアラームクロックタイマーの時間が来た時に発生します(プログラムがアラームを要求した時にだけ発生します)。 | |
3945 | +例えば、Unixでは、@code{SIGINT}は割り込み文字(よくあるのは@kbd{Ctrl-c})をタイプした時にプログラムが受け取るシグナル、また、@code{SIGSEGV}は使用中のメモリ領域から遠く離れたメモリの場所を参照した時にプログラムが受け取るシグナル、さらに、@code{SIGALRM}はアラームクロックタイマーの時間が来た時に発生します(プログラムがアラームを要求した時にだけ発生します)。 | |
3944 | 3946 | |
3945 | 3947 | @cindex fatal signals |
3946 | 3948 | @code{SIGALRM}を含めたいくつかのシグナルはプログラム機能の一部分です。 |
@@ -4588,7 +4590,7 @@ Show the current target-async setting. | ||
4588 | 4590 | @item target record |
4589 | 4591 | プロセスの記録再生ターゲットを開始します。 |
4590 | 4592 | プロセスの記録再生ターゲットは、実行済みのプロセスのデバッグだけを行なうことができます。 |
4591 | -ですので、まずそのプロセスを@kbd{run}コマンドや@kbd{start}コマンドで開始し、それから@kbd{target record}コマンドで記録を開始します。 | |
4593 | +ですから、まずそのプロセスを@kbd{run}コマンドや@kbd{start}コマンドで開始し、それから@kbd{target record}コマンドで記録を開始します。 | |
4592 | 4594 | |
4593 | 4595 | @code{record}と@code{rec}は両方とも@code{target record}の別名です。 |
4594 | 4596 |
@@ -5192,7 +5194,7 @@ MIPSアーキテクチャとAlphaアーキテクチャでは、スタックポ | ||
5192 | 5194 | |
5193 | 5195 | @item @var{function} |
5194 | 5196 | 関数@var{function}の本体が始まる行を指定します。 |
5195 | -例えばC言語であれば、開きカッコがある行です。 | |
5197 | +例えば、C言語であれば、開きカッコがある行です。 | |
5196 | 5198 | |
5197 | 5199 | @item @var{filename}:@var{function} |
5198 | 5200 | ファイル@var{filename}の関数@var{function}の本体が始まる行を指定します。 |
@@ -5742,7 +5744,7 @@ C言語だけでなく全ての言語でキャストがサポートされてい | ||
5742 | 5744 | @dfn{ジェネリックパッケージ}はC@t{++}のテンプレートに似たもので、通常複数回インスタンス化され、その結果同じ関数名が異なったコンテキストの中で定義されることになります。 |
5743 | 5745 | |
5744 | 5746 | その言語によって、式を調整して曖昧さを排除することが可能な場合もあります。 |
5745 | -例えばC@t{++}では、@kbd{break @var{function}(@var{types})}のようにして、ブレイクポイントを設定したい関数のシグネチャを指定することができます。 | |
5747 | +例えば、C@t{++}では、@kbd{break @var{function}(@var{types})}のようにして、ブレイクポイントを設定したい関数のシグネチャを指定することができます。 | |
5746 | 5748 | Adaでは、完全に修飾された関数名を使用することで、同様に式を明確にできることがよくあります。 |
5747 | 5749 | |
5748 | 5750 | 確定させる必要がある曖昧さが検出された場合、候補を番号付きの選択肢にしたメニューを表示して、プロンプト@samp{>}で選択を受け付けるという機能があります。 |
@@ -5784,9 +5786,9 @@ Use the "delete" command to delete unwanted | ||
5784 | 5786 | |
5785 | 5787 | デフォルトでは@var{mode}は@code{all}に設定されています。 |
5786 | 5788 | 式が使用されるコマンドが複数選択を許すものであれば、自動的に全ての候補が選択されます。 |
5787 | -例えば曖昧な名前を使用して関数にブレイクポイントを設定すると、名前に対応する各候補にブレイクポイントが設定される結果となります。 | |
5789 | +例えば、曖昧な名前を使用して関数にブレイクポイントを設定すると、名前に対応する各候補にブレイクポイントが設定される結果となります。 | |
5788 | 5790 | しかし、一つだけしか選択できない場合には、曖昧さの排除を支援するメニューを表示します。 |
5789 | -例えばオーバーロードされた関数のアドレスを表示する場合はメニューを使うことになります。 | |
5791 | +例えば、オーバーロードされた関数のアドレスを表示する場合はメニューを使うことになります。 | |
5790 | 5792 | |
5791 | 5793 | @var{mode}が@code{ask}に設定されている場合、曖昧さが検出されると、必ずメニューが使用されます。 |
5792 | 5794 |
@@ -5891,14 +5893,14 @@ No symbol "foo" in current context. | ||
5891 | 5893 | @end smallexample |
5892 | 5894 | |
5893 | 5895 | このような問題を解決するには、最適化せずに再度コンパイルするか、もしくはコンパイラがデバッグ情報のフォーマットを複数サポートしているのであれば、別のフォーマットを使うようにしてください。 |
5894 | -例えば@sc{gnu} C/C@t{++}コンパイラの@value{NGCC}は、通常@option{-gstabs+}オプションをサポートしています。 | |
5896 | +例えば、@sc{gnu} C/C@t{++}コンパイラの@value{NGCC}は、通常@option{-gstabs+}オプションをサポートしています。 | |
5895 | 5897 | @option{-gstabs+}オプションは、COFFのようなフォーマットよりも優れたフォーマットでデバッグ情報を生成します。 |
5896 | 5898 | また、DWARF 2 (@option{-gdwarf-2}) を使うことができるかもしれません。 |
5897 | 5899 | これもまた効果的なデバッグ情報のフォーマットです。 |
5898 | 5900 | @xref{Debugging Options,,Options for Debugging Your Program or GCC, gcc.info, Using the @sc{gnu} Compiler Collection (GCC)}. |
5899 | 5901 | C@t{++}プログラムに最適なデバッグ情報のフォーマットについては別の節を参照していください (@pxref{C, ,C and C@t{++}})。 |
5900 | 5902 | |
5901 | -例えばデバッグ情報の中でデータ型が完全には指定されていないなどで、@value{GDBN}が認識できない内容を持つオブジェクトを表示した場合には、@samp{<incomplete type>}と出力されます。 | |
5903 | +例えば、デバッグ情報の中でデータ型が完全には指定されていないなどで、@value{GDBN}が認識できない内容を持つオブジェクトを表示した場合には、@samp{<incomplete type>}と出力されます。 | |
5902 | 5904 | これについて詳細は別の節を参照してください (@pxref{Symbols, incomplete type})。 |
5903 | 5905 | |
5904 | 5906 | 文字列は符号が指定されていない@code{char}値の配列として認識されます。 |
@@ -5972,7 +5974,7 @@ $2 = @{0x1234, 0x5678@} | ||
5972 | 5974 | 例えば、配列中のポインタ値に着目しているような場合です。 |
5973 | 5975 | この状況での便利な回避策として、コンビニエンス変数をカウンタとして使う方法があります。 |
5974 | 5976 | このカウンタを最初の値を表示する式の中で使用し、次にその式を@key{RET}キーで繰り返します。 |
5975 | -例えば@code{dtab}という構造体へのポインタ配列があったとしましょう。 | |
5977 | +例えば、@code{dtab}という構造体へのポインタ配列があったとしましょう。 | |
5976 | 5978 | そして、各構造体データの@code{fv}フィールドの値に注目しているとします。 |
5977 | 5979 | 以下に操作例を示します。 |
5978 | 5980 |
@@ -6142,7 +6144,7 @@ C言語であれば@samp{s}修飾子はUTF-16エンコーディングを使用 | ||
6142 | 6144 | @code{info breakpoints}(最後に表示されたブレイクポイントのアドレス)、@code{info line}(行の開始アドレス)、@code{print}(メモリの値を表示するのに使用した場合)です。 |
6143 | 6145 | @end table |
6144 | 6146 | |
6145 | -例えば@samp{x/3uh 0x54320}というコマンドは、@code{0x54320}から始まるメモリの三つのハーフワード (@code{h}) を符号無し10進整数 (@samp{u}) として表示するように要求するものです。 | |
6147 | +例えば、@samp{x/3uh 0x54320}というコマンドは、@code{0x54320}から始まるメモリの三つのハーフワード (@code{h}) を符号無し10進整数 (@samp{u}) として表示するように要求するものです。 | |
6146 | 6148 | @samp{x/4xw $sp}コマンドはスタックポインタ (ここでは@samp{$sp}ですが、別の節を参照してください (@pxref{Registers, ,Registers})) の上位メモリの四つのワード (@samp{w}) を16進数 (@samp{x}) で表示します。 |
6147 | 6149 | |
6148 | 6150 | メモリサイズを表わす文字は全て出力を指定する文字とは異なりますので、メモリサイズの単位が先だったか形式の指定が先だったかを覚えておく必要はありません。 |
@@ -6150,7 +6152,7 @@ C言語であれば@samp{s}修飾子はUTF-16エンコーディングを使用 | ||
6150 | 6152 | (ただし繰り返し回数の@var{n}は最初になければならず、@samp{wx4}は動作しません。) |
6151 | 6153 | |
6152 | 6154 | メモリサイズ単位の@var{u}は、@samp{s}形式と@samp{i}形式の場合は無視されるのですが、繰り返し回数の@var{n}は使ってもかまいません。 |
6153 | -例えば@samp{3i}はオペランドも含めたマシン語命令を三つ表示させるよう指定するものです。 | |
6155 | +例えば、@samp{3i}はオペランドも含めたマシン語命令を三つ表示させるよう指定するものです。 | |
6154 | 6156 | 利便のため、特に@code{display}コマンドと一緒に使用する時、@samp{i}形式は指定された回数を越えたところにある分岐遅延スロットの命令も存在すれば表示します。 |
6155 | 6157 | これらの遅延スロットの命令は指定回数の内にある最後の命令に続くものです。 |
6156 | 6158 | @code{disassemble}コマンドはマシン語命令を調べるための別の方法です。 |
@@ -6234,7 +6236,7 @@ C言語であれば@samp{s}修飾子はUTF-16エンコーディングを使用 | ||
6234 | 6236 | @xref{Memory, ,Examining Memory}. |
6235 | 6237 | @end table |
6236 | 6238 | |
6237 | -例えば@samp{display/i $pc}というコマンドは、プログラムが停止するたびに次に実行されるマシン語命令を見るのに便利です (@samp{$pc}はプログラムカウンタについての一般名です。 | |
6239 | +例えば、@samp{display/i $pc}というコマンドは、プログラムが停止するたびに次に実行されるマシン語命令を見るのに便利です (@samp{$pc}はプログラムカウンタについての一般名です。 | |
6238 | 6240 | @xref{Registers, ,Registers}.)。 |
6239 | 6241 | |
6240 | 6242 | @table @code |
@@ -6272,7 +6274,7 @@ C言語であれば@samp{s}修飾子はUTF-16エンコーディングを使用 | ||
6272 | 6274 | @cindex display disabled out of scope |
6273 | 6275 | 表示される式がローカル変数を参照しているのであれば、設定されたレキシカルコンテキストの外側では意味を持ちません。 |
6274 | 6276 | そういった式は、使用変数のいずれかが未定義となってしまうコンテキストに入った場合に無効になります。 |
6275 | -例えば@code{last_char}という引数を取る関数の内部で@code{display last_char}というコマンドを実行した場合、関数内で停止している間は引数が表示されます。 | |
6277 | +例えば、@code{last_char}という引数を取る関数の内部で@code{display last_char}というコマンドを実行した場合、関数内で停止している間は引数が表示されます。 | |
6276 | 6278 | 関数外の@code{last_char}という変数が無い場所で停止した場合には、表示は自動的に無効となります。 |
6277 | 6279 | その後、@code{last_char}が意味を持つ場所でプログラムが停止した時は、表示式を再度有効にすることができます。 |
6278 | 6280 |
@@ -6318,7 +6320,7 @@ C言語であれば@samp{s}修飾子はUTF-16エンコーディングを使用 | ||
6318 | 6320 | @end smallexample |
6319 | 6321 | |
6320 | 6322 | @samp{set print address off}使うと、@value{GDBN}のインターフェイスからマシン依存の表示を全て取り除くことができます。 |
6321 | -例えば@code{print address off}を使うと、ポインタ引数があるかどうかに関わらずどのようなマシンでも同じバックトレースのテキストを得るはずです。 | |
6323 | +例えば、@code{print address off}を使うと、ポインタ引数があるかどうかに関わらずどのようなマシンでも同じバックトレースのテキストを得るはずです。 | |
6322 | 6324 | |
6323 | 6325 | @kindex show print |
6324 | 6326 | @item show print address |
@@ -6364,7 +6366,7 @@ C言語であれば@samp{s}修飾子はUTF-16エンコーディングを使用 | ||
6364 | 6366 | あるポインタがどの位置を指すのか定かでない場合、@samp{set print symbol-filename on}を使用してみてください。 |
6365 | 6367 | そうすれば、@samp{p/a @var{pointer}}を使って、ポインタが示している変数の場所の名前とソースファイル上の位置を知ることができます。 |
6366 | 6368 | これはアドレスをシンボル形式で解釈します。 |
6367 | -例えば以下は、変数@code{ptt}が、@file{hi2.c}で定義されている別の変数@code{t}を指していることを示しています。 | |
6369 | +例えば、以下は、変数@code{ptt}が、@file{hi2.c}で定義されている別の変数@code{t}を指していることを示しています。 | |
6368 | 6370 | |
6369 | 6371 | @smallexample |
6370 | 6372 | (@value{GDBP}) set print symbol-filename on |
@@ -6456,7 +6458,7 @@ $4 = 0xe008 <t in hi2.c> | ||
6456 | 6458 | デフォルトではスカラー値の引数だけが表示されます。 |
6457 | 6459 | 引数の型に関わらず全ての引数を表示するように設定するのに使うことができます。 |
6458 | 6460 | しかし、複雑なパラメータの値を表示しないほうが都合が良い場合もあります。 |
6459 | -例えば各フレームに表示される情報量を減らすことで、バックトレースをもっと読み易くすることになります。 | |
6461 | +例えば、各フレームに表示される情報量を減らすことで、バックトレースをもっと読み易くすることになります。 | |
6460 | 6462 | また特に大きなアプリケーションでは、巨大な引数についての計算はCPUに負荷がかかることがありますので、Adaのフレームを表示する際パフォーマンスが向上します。 |
6461 | 6463 | @code{print frame-arguments}を@code{scalars} (デフォルト) にしたり、@code{none}にしたりすることで、こういった計算を避けることができますので、Adaにおける各フレームの表示速度を上げることになります。 |
6462 | 6464 |
@@ -6545,7 +6547,7 @@ meat = 0x54 "Pork"@} | ||
6545 | 6547 | @item show print union |
6546 | 6548 | 構造体や別の共用体に含まれる共用体を表示するかどうか問い合わせます。 |
6547 | 6549 | |
6548 | -例えば以下のように宣言しているとします。 | |
6550 | +例えば、以下のように宣言しているとします。 | |
6549 | 6551 | |
6550 | 6552 | @smallexample |
6551 | 6553 | typedef enum @{Tree, Bug@} Species; |
@@ -6804,7 +6806,7 @@ set x=5 | ||
6804 | 6806 | @cindex user-defined variables |
6805 | 6807 | @value{GDBN}には@dfn{コンビニエンス変数}というものが用意されていて、@value{GDBN}の内部で値を保持して、後で参照するために使用することができます。 |
6806 | 6808 | これらの変数はユーザプログラムの一部ではなく、コンビニエンス変数を設定することによって、プログラムをさらに実行するのに直接的な影響を持ちません。 |
6807 | -ですのでユーザはコンビニエンス変数を自由に使用することができます。 | |
6809 | +ですから、ユーザはコンビニエンス変数を自由に使用することができます。 | |
6808 | 6810 | |
6809 | 6811 | コンビニエンス変数の前には@samp{$}が付けられます。 |
6810 | 6812 | @samp{$}が前置された名前は全てコンビニエンス変数として使用することができます。 |
@@ -6813,7 +6815,7 @@ set x=5 | ||
6813 | 6815 | @xref{Value History, ,Value History}.) |
6814 | 6816 | |
6815 | 6817 | プログラムで変数を設定するのと同じように、代入式を用いるとコンビニエンス変数に値を保存することができます。 |
6816 | -例えば以下を見てください。 | |
6818 | +例えば、以下を見てください。 | |
6817 | 6819 | |
6818 | 6820 | @smallexample |
6819 | 6821 | set $foo = *object_ptr |
@@ -6848,7 +6850,7 @@ set $foo = *object_ptr | ||
6848 | 6850 | @end table |
6849 | 6851 | |
6850 | 6852 | コンビニエンス変数を使用する場面の一つには、一つずつ増加させるカウンタや、次に進むためのポインタとしての利用があります。 |
6851 | -例えば構造体の配列の連続要素からあるフィールドを表示するためには以下のようにします。 | |
6853 | +例えば、構造体の配列の連続要素からあるフィールドを表示するためには以下のようにします。 | |
6852 | 6854 | |
6853 | 6855 | @smallexample |
6854 | 6856 | set $i = 0 |
@@ -6888,7 +6890,7 @@ print bar[$i++]->contents | ||
6888 | 6890 | @vindex $_siginfo@r{, convenience variable} |
6889 | 6891 | 変数@code{$_siginfo}は特別なシグナル情報が入っています (@pxref{extra signal information})。 |
6890 | 6892 | アプリケーションがシグナルを未受信の場合、@code{$_siginfo}は空ですので注意してください。 |
6891 | -例えば@code{run}コマンドの実行前は空でしょう。 | |
6893 | +例えば、@code{run}コマンドの実行前は空でしょう。 | |
6892 | 6894 | |
6893 | 6895 | @item $_tlb |
6894 | 6896 | @vindex $_tlb@r{, convenience variable} |
@@ -6947,7 +6949,7 @@ HP-UXシステムでは、ドル記号で始まる関数名や変数名を参照 | ||
6947 | 6949 | @code{$pc}と@code{$sp}というレジスタ名は、それぞれプログラムカウンタとスタックポインタとして使用されます。 |
6948 | 6950 | @code{$fp}は現在のスタックフレームを指すポインタが入っているレジスタとして使用されます。 |
6949 | 6951 | また、@code{$ps}はプロセッサ状態が入っているレジスタとして使用されます。 |
6950 | -例えばプログラムカウンタを16進数で表示するには次のようにします。 | |
6952 | +例えば、プログラムカウンタを16進数で表示するには次のようにします。 | |
6951 | 6953 | |
6952 | 6954 | @smallexample |
6953 | 6955 | p/x $pc |
@@ -6974,7 +6976,7 @@ set $sp += 4 | ||
6974 | 6976 | |
6975 | 6977 | 可能であればいつでも、たとえマシンが別の正規なニーモニックを使用していたとしても、衝突しないかぎりにおいて、これら四つの標準レジスタ名を使用することができます。 |
6976 | 6978 | @code{info registers}コマンドは正規の名前を表示します。 |
6977 | -例えばSPARC上では、@code{info registers}コマンドを使うとプロセッサ状態レジスタは@code{$psr}として表示されますが、@code{$ps}として参照することもできます。 | |
6979 | +例えば、SPARC上では、@code{info registers}コマンドを使うとプロセッサ状態レジスタは@code{$psr}として表示されますが、@code{$ps}として参照することもできます。 | |
6978 | 6980 | x86ベースのマシンでは@code{$ps}は@sc{eflags}レジスタの別名です。 |
6979 | 6981 | |
6980 | 6982 | @value{GDBN}は常にこのようにレジスタが調べられる際、通常のレジスタの内容は整数であると見做します。 |
@@ -7521,7 +7523,7 @@ $10 = 78 '+' | ||
7521 | 7523 | しかし残念ながら、あらゆるものを単純にキャッシュしたのでは間違った結果となってしまいます。 |
7522 | 7524 | @value{GDBN}がvolatile値やメモリマップドI/Oアドレスなどについて必ずしも認識しているわけではないからです。 |
7523 | 7525 | それに加え、ノンストップモード (@pxref{Non-Stop Mode}) ではgdbコマンドが実行されている@emph{間に}メモリが変化することがあります。 |
7524 | -ですのでデフォルトでは、スタックにあることがわかっているデータだけをキャッシュします@footnote{ノンストップモードでは、実行中のスレッドがバックトレースを妨げてしまうような方法で、停止しているスレッドのスタックを変更してしまうことはどちらかというと稀で、スタックの読み出しをキャッシュすることでリモートのバックトレースを著しくスピードアップすることになります}。 | |
7526 | +ですから、デフォルトでは、スタックにあることがわかっているデータだけをキャッシュします@footnote{ノンストップモードでは、実行中のスレッドがバックトレースを妨げてしまうような方法で、停止しているスレッドのスタックを変更してしまうことはどちらかというと稀で、スタックの読み出しをキャッシュすることでリモートのバックトレースを著しくスピードアップすることになります}。 | |
7525 | 7527 | メモリのその他の領域については、キャッシュ可能であることを明示的に指定することができます。 |
7526 | 7528 | @xref{Memory Region Attributes}. |
7527 | 7529 |
@@ -7610,7 +7612,7 @@ obsoleteであるremotecacheフラグのの現在の状態を表示します。 | ||
7610 | 7612 | 最後に見つかったアドレスはコンビニエンス変数@samp{$_}に格納されます。 |
7611 | 7613 | 一致数は@samp{$numfound}へ格納されます。 |
7612 | 7614 | |
7613 | -例えば次の関数の@code{printf}で停止した場合を考えます。 | |
7615 | +例えば、次の関数の@code{printf}で停止した場合を考えます。 | |
7614 | 7616 | |
7615 | 7617 | @smallexample |
7616 | 7618 | void |
@@ -7735,7 +7737,7 @@ CやC@t{++}のような言語では、トークン文字列へ展開される「 | ||
7735 | 7737 | @xref{Compilation}. |
7736 | 7738 | |
7737 | 7739 | プログラムによっては、ある場所でマクロを定義し、後でその定義を削除し、その後に別の定義を用意するというようなことがあります。 |
7738 | -ですのでプログラムの別々の場所では、マクロは異なる定義を持っていたり、あるいは全く定義を持たなかったりするかもしれません。 | |
7740 | +ですから、プログラムの別々の場所では、マクロは異なる定義を持っていたり、あるいは全く定義を持たなかったりするかもしれません。 | |
7739 | 7741 | カレントスタックフレームがあれば、@value{GDBN}はそのフレームのソースコード行のスコープでマクロを使用します。 |
7740 | 7742 | そうでなければ、現在のリスト位置におけるスコープでマクロを使用します。 |
7741 | 7743 | @xref{List}. |
@@ -7970,7 +7972,7 @@ Defined at /home/jimb/gdb/macros/play/sample.c:0 | ||
7970 | 7972 | @section トレースポイントを設定するコマンド |
7971 | 7973 | @dfn{トレース試験}実行前には任意の数のトレースポイントを設定することができいます。 |
7972 | 7974 | トレースポイントは実際にはブレイクポイント (@pxref{Set Breaks}) の特別なタイプですので、通常のブレイクポイントコマンドを使ってトレースポイントを操作することができます。 |
7973 | -例えばトレースポイント番号は、ブレイクポイントの場合と同じように、1から始まる連続した整数です。 | |
7975 | +例えば、トレースポイント番号は、ブレイクポイントの場合と同じように、1から始まる連続した整数です。 | |
7974 | 7976 | トレースポイントと関連するコマンドの多くは、対象とするトレースポイントを識別するための引数としてトレースポイント番号を取ります。 |
7975 | 7977 | |
7976 | 7978 | 各トレースポイントについて、到達時にトレースバッファに収集するターゲットとなる任意のデータの集りを指定することができます。 |
@@ -8107,7 +8109,7 @@ Cnt Enb ID Address What | ||
8107 | 8109 | @end smallexample |
8108 | 8110 | |
8109 | 8111 | @noindent |
8110 | -ですので上のマーカは次のようにプローブすることができます。 | |
8112 | +ですから、上のマーカは次のようにプローブすることができます。 | |
8111 | 8113 | |
8112 | 8114 | @smallexample |
8113 | 8115 | (@value{GDBP}) strace -m ust/bar33 |
@@ -8219,7 +8221,7 @@ Cnt Enb ID Address What | ||
8219 | 8221 | その代わり@value{GDBN}は式を、@value{GDBN}とは無関係に、ターゲット上での実行に適した媒介式にエンコードします (@pxref{Agent Expressions})。 |
8220 | 8222 | グローバル変数はメモリの位置そのものになり、ローカル変数はスタックアクセスになり、などとなります。 |
8221 | 8223 | |
8222 | -例えば通常繰り返し呼び出される関数があって、エラーが起きた後は呼び出されないはずであるとしましょう。 | |
8224 | +例えば、通常繰り返し呼び出される関数があって、エラーが起きた後は呼び出されないはずであるとしましょう。 | |
8223 | 8225 | プログラムをエラーコードが伝わっていく間に発生したその関数呼び出しに関するデータを収集するのに、以下のトレースポイントコマンドが使用できます。 |
8224 | 8226 | 条件を付けないトレースポイントを使用すると、検索をしなければならないような多数の無用のトレースフレームを収集することになってしまいます。 |
8225 | 8227 |
@@ -8383,7 +8385,7 @@ USTの静的トレースポイントライブラリバックエンドでは計 | ||
8383 | 8385 | この変数は各トレースポイントに到達した時に収集される式のリストです。 |
8384 | 8386 | 事実上各トレースポイントのアクションリストの先頭に追加される付加的な@code{collect}アクションです。 |
8385 | 8387 | 各式は、それぞれのトレースポイントについて個別に解析されます。 |
8386 | -ですので例えば、@code{xyz}という名前の変数は、あるトレースポイントではグローバル変数として解釈され、別のトレースポイントではローカル変数として解釈されるなど、トレースポイントの位置に応じて適切に解釈されます。 | |
8388 | +ですから、例えば、@code{xyz}という名前の変数は、あるトレースポイントではグローバル変数として解釈され、別のトレースポイントではローカル変数として解釈されるなど、トレースポイントの位置に応じて適切に解釈されます。 | |
8387 | 8389 | |
8388 | 8390 | @item show default-collect |
8389 | 8391 | @kindex show default-collect |
@@ -8580,7 +8582,7 @@ Enter actions for tracepoint #1, one per line. | ||
8580 | 8582 | @cindex tracepoint restrictions |
8581 | 8583 | トレースポイントを使用するにおいてはたくさんの制限があります。 |
8582 | 8584 | 前述したように、トレースポイントデータの収集は、@value{GDBN}と連携することなくターゲット上で行なわれます。 |
8583 | -ですのでデータ収集の間デバッガの全能力は利用可能ではなく、データの検査時に収集したものを知ることができるだけに制限されます。 | |
8585 | +ですから、データ収集の間デバッガの全能力は利用可能ではなく、データの検査時に収集したものを知ることができるだけに制限されます。 | |
8584 | 8586 | 以下の項目は一般的な問題をいくつか説明するものですが、これで全部ではありません。 |
8585 | 8587 | ここでは触れられていないさらなる問題に遭遇することがありえます。 |
8586 | 8588 |
@@ -8588,7 +8590,7 @@ Enter actions for tracepoint #1, one per line. | ||
8588 | 8590 | |
8589 | 8591 | @item |
8590 | 8592 | トレースポイントの式はオブジェクトを集めるためのものです(左辺値)。 |
8591 | -ですのでGDBの式評価における柔軟性を完全には利用できません。 | |
8593 | +ですから、GDBの式評価における柔軟性を完全には利用できません。 | |
8592 | 8594 | 関数を呼び出すことはできませんし、オブジェクトを集成型ヘキャストすることもできません。 |
8593 | 8595 | またコンビニエンス変数へアクセスしたり、値を修正したりすることもできません(トレース状態変数への割り当ては除きます)。 |
8594 | 8596 | 言語の機能によっては関数を暗黙のうちに呼び出すことがあります(例えば、アクセサ付きのObjective-Cのフィールド)。 |
@@ -8696,14 +8698,14 @@ Enter actions for tracepoint #1, one per line. | ||
8696 | 8698 | @end table |
8697 | 8699 | |
8698 | 8700 | @code{tfind}コマンドのデフォルトの引数はトレースバッファ通して走査するのが簡単になるように特に設計されています。 |
8699 | -例えば引数の無い@code{tfind}コマンドは、次のトレーススナップショットを選択しますし、引数の無い@code{tfind -}コマンドは、前のトレーススナップショットを選択します。 | |
8700 | -ですので一回@code{tfind}コマンドを入力して、それから単に@key{RET}キーを繰り返し打てば、トレーススナップショットを全て順番に調べることができます。 | |
8701 | +例えば、引数の無い@code{tfind}コマンドは、次のトレーススナップショットを選択しますし、引数の無い@code{tfind -}コマンドは、前のトレーススナップショットを選択します。 | |
8702 | +ですから、一回@code{tfind}コマンドを入力して、それから単に@key{RET}キーを繰り返し打てば、トレーススナップショットを全て順番に調べることができます。 | |
8701 | 8703 | 引数の無い@code{tfind line}コマンドは、実行された次のソース行についてのスナップショットを選択します。 |
8702 | 8704 | 引数の無い@code{tfind pc}コマンドは、現在のフレームと同じプログラムカウンタ (PC) で次のスナップショットを選択します。 |
8703 | 8705 | 引数の無い@code{tfind tracepoint}コマンドは、現在のトレースポイントと同じトレースポイントによって収集された次のトレーススナップショットを選択します。 |
8704 | 8706 | |
8705 | 8707 | トレースバッファを手動で走査できるようにするのに加え、これらのコマンドはトレースバッファを通して走査して、関心のある収集データを何でも出力する@value{GDBN}スクリプトを組み立てるのを簡単にします。 |
8706 | -ですので、バッファの各トレースバッファからPC、FP、SPレジスタを調べたい場合、次のようにすることができます。 | |
8708 | +ですから、バッファの各トレースバッファからPC、FP、SPレジスタを調べたい場合、次のようにすることができます。 | |
8707 | 8709 | |
8708 | 8710 | @smallexample |
8709 | 8711 | (@value{GDBP}) @b{tfind start} |
@@ -8799,7 +8801,7 @@ gdb_long_test = 17 '\021' | ||
8799 | 8801 | @end smallexample |
8800 | 8802 | |
8801 | 8803 | @code{tdump}はトレースポイントの現在の収集アクションを走査し、リストされている各式の値を表示することによって動作します。 |
8802 | -ですので、もし実行の後トレースポイントのアクションを、その実行時に収集しなかった変数について参照するよう変更した場合、@code{tdump}は失敗することがあります。 | |
8804 | +ですから、もし実行の後トレースポイントのアクションを、その実行時に収集しなかった変数について参照するよう変更した場合、@code{tdump}は失敗することがあります。 | |
8803 | 8805 | |
8804 | 8806 | また、@code{while-stepping}ループを持つトレースポイントの場合、@code{tdump}はトレースポイント到達時に収集されたトレースフレームと、ステップ実行間に収集されたフレームを区別するために、@code{$pc}の収集された値を使用します。 |
8805 | 8807 | これにより、収集したものの基本的なリストを表示するかどうか、あるいはwhile-steppingループの本体の収集したものを表示するかどうかを正しく選択することができます。 |
@@ -9532,7 +9534,7 @@ C言語やC@t{++}は非常に関係の深いものです。 | ||
9532 | 9534 | @cindex @code{g++}, @sc{gnu} C@t{++} compiler |
9533 | 9535 | @cindex @sc{gnu} C@t{++} |
9534 | 9536 | C@t{++}のデバッグ機能はC@t{++}と@value{GDBN}で連携して実装されています。 |
9535 | -ですので、C@t{++}コードを効果的にデバッグするには、@sc{gnu} @code{g++}コンパイラやHP ANSI C@t{++}コンパイラ (@code{aCC}) のようなサポートされているC@t{++}コンパイラを使ってプログラムをコンパイルしなければなりません。 | |
9537 | +ですから、C@t{++}コードを効果的にデバッグするには、@sc{gnu} @code{g++}コンパイラやHP ANSI C@t{++}コンパイラ (@code{aCC}) のようなサポートされているC@t{++}コンパイラを使ってプログラムをコンパイルしなければなりません。 | |
9536 | 9538 | |
9537 | 9539 | @sc{gnu} C@t{++}を使用する際最良の結果を得るにはDWARF 2デバッグフォーマットを使用してください。 |
9538 | 9540 | 使用システムで動作しない場合はstabs+デバッグフォーマットを試してください。 |
@@ -9756,7 +9758,7 @@ C@t{++}のスコープ解決演算子です。 | ||
9756 | 9758 | 文字列定数は二重引用符(@code{"})で括られた文字定数の並びです。 |
9757 | 9759 | 上記の有効な文字定数は何でも使用可能です。 |
9758 | 9760 | 文字列に二重引用符が含まれる場合はバックスラッシュを前に置かなければなりません。 |
9759 | -ですので例えば、@samp{"a\"b'c"}は5文字からなる文字列です。 | |
9761 | +ですから、例えば、@samp{"a\"b'c"}は5文字からなる文字列です。 | |
9760 | 9762 | |
9761 | 9763 | @item |
9762 | 9764 | ポインタ定数は整数値です。 |
@@ -10077,7 +10079,7 @@ clear -[NSWindow makeKeyAndOrderFront:] | ||
10077 | 10079 | @kindex po @r{(@code{print-object})} |
10078 | 10080 | |
10079 | 10081 | printコマンドもメソッドを受け付けるように拡張されています。 |
10080 | -例えば以下を見てください。 | |
10082 | +例えば、以下を見てください。 | |
10081 | 10083 | |
10082 | 10084 | @smallexample |
10083 | 10085 | print -[@var{object} hash] |
@@ -11410,7 +11412,7 @@ recommended to leave this setting to @code{on} unless necessary. | ||
11410 | 11412 | 最もよくあるのは、他のソースファイルにある静的変数を参照する場合です (@pxref{Variables,,Program Variables})。 |
11411 | 11413 | ファイル名はデバッグシンボルとしてオブジェクトファイルに記録されていますが、@value{GDBN}では、@file{foo.c}のようなよくあるファイル名は、通常三つのワード@samp{foo} @samp{.} @samp{c}として解釈してしまいます。 |
11412 | 11414 | @samp{foo.c}を一つのシンボルとして解釈として認識させるには、単一引用符でシンボルを括ってください。 |
11413 | -例えば以下を見てください。 | |
11415 | +例えば、以下を見てください。 | |
11414 | 11416 | |
11415 | 11417 | @smallexample |
11416 | 11418 | p 'foo.c'::x |
@@ -11643,7 +11645,7 @@ which match the regular-expression @var{regexp}. | ||
11643 | 11645 | |
11644 | 11646 | @cindex reloading symbols |
11645 | 11647 | システムによっては、プログラムを構成する個々のオブジェクトファイルを、プログラムを停止したり再起動することなく置き換えてしまうことができることがあります。 |
11646 | -例えばVxWorksでは、問題のあるオブジェクファイルを再コンパイルして実行を継続することができます。 | |
11648 | +例えば、VxWorksでは、問題のあるオブジェクファイルを再コンパイルして実行を継続することができます。 | |
11647 | 11649 | こういったシステムであれば、自動的に再リンクされるモジュールのシンボルを再読み込みすることができます。 |
11648 | 11650 | |
11649 | 11651 | @table @code |
@@ -11713,7 +11715,7 @@ which match the regular-expression @var{regexp}. | ||
11713 | 11715 | @var{regexp}にマッチする名前を持つ@code{struct symtab}や@code{struct partial_symtab}構造体を一覧表示します。 |
11714 | 11716 | @var{regexp}が指定されなければ、全てを一覧表示します。 |
11715 | 11717 | 出力には、特定の構造体を詳細に調べるために@value{GDBN}にコピーして入力できる式が含まれています。 |
11716 | -例えば以下を見てください。 | |
11718 | +例えば、以下を見てください。 | |
11717 | 11719 | (List the @code{struct symtab} or @code{struct partial_symtab} |
11718 | 11720 | structures whose names match @var{regexp}. If @var{regexp} is not |
11719 | 11721 | given, list them all. The output includes expressions which you can |
@@ -11789,7 +11791,7 @@ line 1574. | ||
11789 | 11791 | @cindex setting variables |
11790 | 11792 | 変数の値を変更するには、代入式を評価してください。 |
11791 | 11793 | @xref{Expressions, ,Expressions}. |
11792 | -例えば以下を見てください。 | |
11794 | +例えば、以下を見てください。 | |
11793 | 11795 | |
11794 | 11796 | @smallexample |
11795 | 11797 | print x=4 |
@@ -11967,7 +11969,7 @@ set $pc = 0x485 | ||
11967 | 11969 | 実際のレジスタに値を割り当てる場合は、使用オペレーティングシステムのABIと、選択スタックフレームによって返される型に左右されます。 |
11968 | 11970 | 例えば、浮動小数点の数値をFPUレジスタでリターンし、整数値をCPUレジスタでリターンすることはOS ABIでは一般的なことです。 |
11969 | 11971 | しかし、ABIによっては、浮動小数点数値もCPUレジスタでリターンするものもあります。 |
11970 | -例えば@code{long long int}のようにサイズが大きい整数値には、そのための配置規則も存在します。 | |
11972 | +例えば、@code{long long int}のようにサイズが大きい整数値には、そのための配置規則も存在します。 | |
11971 | 11973 | @value{GDBN}はカレントターゲットのOS ABIを既に把握していますので、レジスタへの戻り値の割り当てを正しく行なうために、戻り値の型も見つけ出す必要があります。 |
11972 | 11974 | |
11973 | 11975 | 通常、選択スタックフレームにはデバッグ情報があります。 |
@@ -12479,7 +12481,7 @@ MS-WindowsやSymbianOSのような、MS-DOSベースのファイルシステム | ||
12479 | 12481 | @end smallexample |
12480 | 12482 | |
12481 | 12483 | これによって、複数のドライブを持つターゲットをミラーするシステムルートを持つことが可能になります。 |
12482 | -例えば次のようにターゲットシステムの共有ライブラリのローカルコピーをセットアップしたい場合もあるでしょう(@samp{c}と@samp{z}の違いに注意)。 | |
12484 | +例えば、次のようにターゲットシステムの共有ライブラリのローカルコピーをセットアップしたい場合もあるでしょう(@samp{c}と@samp{z}の違いに注意)。 | |
12483 | 12485 | |
12484 | 12486 | @smallexample |
12485 | 12487 | @file{/path/to/sysroot/c/sys/bin/foo.dll} |
@@ -14035,7 +14037,7 @@ Cのランタイム環境をセットアップするスタートアップルー | ||
14035 | 14037 | @var{exception_number}は変更される例外番号です。 |
14036 | 14038 | その意味はアーキテクチャに依存します(例えば、0による除算、アライメントに合わないアクセスなどが別々の番号で表わされるかもれません)。 |
14037 | 14039 | この例外が発生すると、制御が直接@var{exception_address}に移され、プロセッサの状態(スタック、レジスタなど)が、プロセッサ例外が発生した時と全く同じ状態になるはずです。 |
14038 | -ですので、@var{exception_address}へ到達するジャンプ命令を使用したい場合には、サブルーチンへのジャンプではなく、単純なジャンプにすべきです。 | |
14040 | +ですから、@var{exception_address}へ到達するジャンプ命令を使用したい場合には、サブルーチンへのジャンプではなく、単純なジャンプにすべきです。 | |
14039 | 14041 | |
14040 | 14042 | 386マシンでは、@var{exception_address}が割り込みゲートとして入れられますので、ハンドラの実行中割り込みがマスクされます。 |
14041 | 14043 | 割り込みゲートは特権レベルが0(最も高い権限を持つレベル)です。 |
@@ -15387,7 +15389,7 @@ Array Tech LSI33K RAIDコントローラボードです。 | ||
15387 | 15389 | ターゲットボードがMIPSの浮動小数点コプロセッサをサポートしていない場合には、@samp{set mipsfpu none}コマンドを使用するべきです(これが必要となる場合、このコマンドを@value{GDBN}の初期化ファイルに入れてしまうのもよいでしょう)。 |
15388 | 15390 | このコマンドは、浮動小数点値を返す関数の戻り値を知る方法を@value{GDBN}に指示します。 |
15389 | 15391 | また、ボード上で関数を呼び出す際、@value{GDBN}が浮動小数点レジスタを保存しなくてもよくなります。 |
15390 | -例えば@sc{r4650}プロセッサのように、単精度浮動小数点数しかサポートしていない浮動小数点コプロセッサを使用している場合には、@samp{set mipsfpu single}コマンドを使用してください。 | |
15392 | +例えば、@sc{r4650}プロセッサのように、単精度浮動小数点数しかサポートしていない浮動小数点コプロセッサを使用している場合には、@samp{set mipsfpu single}コマンドを使用してください。 | |
15391 | 15393 | デフォルトの倍精度浮動小数点コプロセッサは、@samp{set mipsfpu double}コマンドを使用することで選択できます。 |
15392 | 15394 | |
15393 | 15395 | 以前のバージョンでは、倍精度浮動小数点を使うか、あるいは浮動小数点を使わないかだけが可能な選択肢でした。 |
@@ -16326,7 +16328,7 @@ readlineの履歴機能は、履歴展開が有効の場合でも、@kbd{!=}や@ | ||
16326 | 16328 | 単純に次の行へオーバーフローさせるのではなく、出力される内容に応じ、読み易い場所で行を折り返すようにします。 |
16327 | 16329 | |
16328 | 16330 | 通常、@value{GDBN}はターミナルドライバソフトウェアから画面のサイズを取得します。 |
16329 | -例えばUnixでは、termcapデータベース、環境変数@code{TERM}の値、@code{stty rows}と@code{stty cols}の設定を使用します。 | |
16331 | +例えば、Unixでは、termcapデータベース、環境変数@code{TERM}の値、@code{stty rows}と@code{stty cols}の設定を使用します。 | |
16330 | 16332 | これが正しくない場合、@code{set height}コマンドと@code{set width}コマンドでオーバーライドすることが出来ます。 |
16331 | 16333 | |
16332 | 16334 | @table @code |
@@ -16378,7 +16380,7 @@ readlineの履歴機能は、履歴展開が有効の場合でも、@kbd{!=}や@ | ||
16378 | 16380 | 数値入力の際に使用されるデフォルトの基数を設定します。 |
16379 | 16381 | @var{base}でサポートされている選択肢は、10進数でいうところの8、10、16です。 |
16380 | 16382 | @var{base}は、それ自体、曖昧にならないように指定するか、現在の入力基数に従って入力する必要があります。 |
16381 | -例えば以下は、いずれも入力基数を10進数に設定するものです。 | |
16383 | +例えば、以下は、いずれも入力基数を10進数に設定するものです。 | |
16382 | 16384 | |
16383 | 16385 | @smallexample |
16384 | 16386 | set input-radix 012 |
@@ -16838,7 +16840,7 @@ adder 1 2 3 | ||
16838 | 16840 | @code{adder}というコマンドを定義しています。 |
16839 | 16841 | このコマンドは、三つの引数の和を表示します。 |
16840 | 16842 | 引数はテキスト置換ですので注意してください。 |
16841 | -ですので、変数を参照したり、複雑な式を使用したり、インフィアリアの関数を呼び出すことさえも出来ます。 | |
16843 | +ですから、変数を参照したり、複雑な式を使用したり、インフィアリアの関数を呼び出すことさえも出来ます。 | |
16842 | 16844 | |
16843 | 16845 | @cindex argument count in user-defined commands |
16844 | 16846 | @cindex how many arguments (user-defined commands) |
@@ -17021,7 +17023,7 @@ end | ||
17021 | 17023 | |
17022 | 17024 | @code{-s}が指定されれば、@var{filename}にディレクトリが指定してある場合でも、探索パスで@var{filename}を探します。 |
17023 | 17025 | 探索は、探索パスの各要素に対して@var{filename}を追加して行なわれます。 |
17024 | -ですので、例えば、@var{filename}が@file{mylib/myscript}で、探索パスに@file{/home/user}が入っている場合、@file{/home/user/mylib/myscript}というスクリプトが探索されます。 | |
17026 | +ですから、例えば、@var{filename}が@file{mylib/myscript}で、探索パスに@file{/home/user}が入っている場合、@file{/home/user/mylib/myscript}というスクリプトが探索されます。 | |
17025 | 17027 | @var{filename}が絶対パスの場合でも探索は行なわれます。 |
17026 | 17028 | 例えば、@var{filename}が@file{/tmp/myscript}で、探索パスに@file{/home/user}が入っている場合、@file{/home/user/tmp/myscript}というスクリプトが探索されます。 |
17027 | 17029 | DOSライクシステムの場合、@var{filename}にドライブ指定が含まれていれば、連結前にドライブ指定が取り除かれます。 |
@@ -19582,7 +19584,7 @@ TUIモードは、@code{curses}ライブラリの適切なバージョンが利 | ||
19582 | 19584 | @pindex @value{GDBTUI} |
19583 | 19585 | TUIモードは、@samp{@value{GDBTUI}}あるいは@samp{@value{GDBP} -tui}として@value{GDBN}を起動すると、デフォルトで有効になります。 |
19584 | 19586 | 様々なTUIコマンドやキーバインドを使用して、@value{GDBN}を実行中にTUIモードを切り替えることも可能です。 |
19585 | -例えば@kbd{C-x C-a}がそうです。 | |
19587 | +例えば、@kbd{C-x C-a}がそうです。 | |
19586 | 19588 | @xref{TUI Keys, ,TUI Key Bindings}. |
19587 | 19589 | |
19588 | 19590 | @node TUI Overview |
@@ -26284,7 +26286,7 @@ JITがマルチスレッド化されている場合、JITが全ての変更を | ||
26284 | 26286 | このメーリングリストとニュースグループには全く同じメッセージが流れますが、メーリングリストではなくニュースグループの方にバグ報告を投稿しようと考える人がよくいます。 |
26285 | 26287 | しかし、これは上手くいくように見えて、実は、一つ重大なことになりうる問題があります。 |
26286 | 26288 | ニュースグループの投稿には、その送信者へメールを送り返すための情報が欠けていることがよくあるんです。 |
26287 | -ですので、さらに情報が必要になったとしても、そのユーザに連絡を付けることが出来ないかもしれません。 | |
26289 | +ですから、さらに情報が必要になったとしても、そのユーザに連絡を付けることが出来ないかもしれません。 | |
26288 | 26290 | こういう理由から、メーリングリストへのバグ報告のほうが望ましいです。 |
26289 | 26291 | @end ifset |
26290 | 26292 | @ifclear BUGURL_DEFAULT |
@@ -26344,7 +26346,7 @@ Makefile(もしくはmakeの出力)をコピーすれば十分です。 | ||
26344 | 26346 | |
26345 | 26347 | @item |
26346 | 26348 | 出現した正しくないと考えられる動作の説明。 |
26347 | -例えば「致命的シグナルが発生する」などです。 | |
26349 | +例えば、「致命的シグナルが発生する」などです。 | |
26348 | 26350 | |
26349 | 26351 | もちろん、@value{GDBN}が致命的シグナルを受け取るというバグであれば、私たちも確実に気付くでしょう。 |
26350 | 26352 | しかし、そのバグが出力が正しくないというものであれば、明確な間違いがなければ気付かないかもしれません。 |