コンピュータにおいて、スタックトレース(英語: stack trace)とは、プログラムの実行中の特定の時点でのアクティブなスタックフレームのレポートである。スタックバックトレース(英語: stack backtrace)、スタックトレースバック(英語: stack traceback)とも言い、単にバックトレースとも言う(gdbでのレポートコマンドは、バックトレース(backtrace)を縮めたbtである)。 プログラムが実行されると、多くの場合、スタックとヒープの2つの場所にメモリが動的に割り当てられる。スタックという言葉はプログラムの構文についても使われるため、区別するために、このスタックはコールスタック(call stack)と呼ばれる。技術的には、メモリブロックがスタックに割り当てられると、その前に他のメモリブロックが割り当てられている可能性があるため、簡単に削除することはできない。プログラムで関数が呼び出されるたびに、スタックフレーム(またはアクティベーションレコード)と呼ばれるコールスタックの最上部にメモリブロックが割り当てられる。高レベルでは、スタックフレームは、関数内で宣言された関数のパラメータとローカル変数にメモリを割り当てる。 次の、エラーが含まれたPythonプログラムで説明する。

Property Value
dbo:abstract
  • コンピュータにおいて、スタックトレース(英語: stack trace)とは、プログラムの実行中の特定の時点でのアクティブなスタックフレームのレポートである。スタックバックトレース(英語: stack backtrace)、スタックトレースバック(英語: stack traceback)とも言い、単にバックトレースとも言う(gdbでのレポートコマンドは、バックトレース(backtrace)を縮めたbtである)。 プログラムが実行されると、多くの場合、スタックとヒープの2つの場所にメモリが動的に割り当てられる。スタックという言葉はプログラムの構文についても使われるため、区別するために、このスタックはコールスタック(call stack)と呼ばれる。技術的には、メモリブロックがスタックに割り当てられると、その前に他のメモリブロックが割り当てられている可能性があるため、簡単に削除することはできない。プログラムで関数が呼び出されるたびに、スタックフレーム(またはアクティベーションレコード)と呼ばれるコールスタックの最上部にメモリブロックが割り当てられる。高レベルでは、スタックフレームは、関数内で宣言された関数のパラメータとローカル変数にメモリを割り当てる。 プログラマは通常、デバッグにおいてスタックトレースを使用する。エンドユーザには、エラーメッセージの一部としてスタックトレースが表示されることがあり、障害報告の際に使用する。 スタックトレースを使用すると、スタックトレースが生成されるまでの、呼び出されたのシーケンスを追跡できる。事後分析では、障害が発生した関数まで追跡できる(ただし必ずしも追跡できるわけではない)。末尾再帰はスタックトレースに表示されない。 次の、エラーが含まれたPythonプログラムで説明する。 def a: i = 0 j = b(i) return jdef b(z): k = 5 if z == 0: c return k/zdef c: error #存在しない関数を呼び出そうとしているa このプログラムを標準のPythonインタプリタで実行すると、次のエラーメッセージが生成される。 Traceback (most recent call last): File "tb.py", line 15, in a File "tb.py", line 3, in a j = b(i) File "tb.py", line 9, in b c File "tb.py", line 13, in c errorNameError: name 'error' is not defined スタックトレースは、エラーが発生した場所、つまり関数cを示している。また、関数cは関数bから、関数bは関数aから、関数aはプログラムの15行目(最終行)から呼び出されたことも示している。 これらの3つの関数のそれぞれのアクティベーションレコードは、関数aがスタックの下部を占有し、関数cがスタックの上部を占有するようにスタックに配置される。 (ja)
  • コンピュータにおいて、スタックトレース(英語: stack trace)とは、プログラムの実行中の特定の時点でのアクティブなスタックフレームのレポートである。スタックバックトレース(英語: stack backtrace)、スタックトレースバック(英語: stack traceback)とも言い、単にバックトレースとも言う(gdbでのレポートコマンドは、バックトレース(backtrace)を縮めたbtである)。 プログラムが実行されると、多くの場合、スタックとヒープの2つの場所にメモリが動的に割り当てられる。スタックという言葉はプログラムの構文についても使われるため、区別するために、このスタックはコールスタック(call stack)と呼ばれる。技術的には、メモリブロックがスタックに割り当てられると、その前に他のメモリブロックが割り当てられている可能性があるため、簡単に削除することはできない。プログラムで関数が呼び出されるたびに、スタックフレーム(またはアクティベーションレコード)と呼ばれるコールスタックの最上部にメモリブロックが割り当てられる。高レベルでは、スタックフレームは、関数内で宣言された関数のパラメータとローカル変数にメモリを割り当てる。 プログラマは通常、デバッグにおいてスタックトレースを使用する。エンドユーザには、エラーメッセージの一部としてスタックトレースが表示されることがあり、障害報告の際に使用する。 スタックトレースを使用すると、スタックトレースが生成されるまでの、呼び出されたのシーケンスを追跡できる。事後分析では、障害が発生した関数まで追跡できる(ただし必ずしも追跡できるわけではない)。末尾再帰はスタックトレースに表示されない。 次の、エラーが含まれたPythonプログラムで説明する。 def a: i = 0 j = b(i) return jdef b(z): k = 5 if z == 0: c return k/zdef c: error #存在しない関数を呼び出そうとしているa このプログラムを標準のPythonインタプリタで実行すると、次のエラーメッセージが生成される。 Traceback (most recent call last): File "tb.py", line 15, in a File "tb.py", line 3, in a j = b(i) File "tb.py", line 9, in b c File "tb.py", line 13, in c errorNameError: name 'error' is not defined スタックトレースは、エラーが発生した場所、つまり関数cを示している。また、関数cは関数bから、関数bは関数aから、関数aはプログラムの15行目(最終行)から呼び出されたことも示している。 これらの3つの関数のそれぞれのアクティベーションレコードは、関数aがスタックの下部を占有し、関数cがスタックの上部を占有するようにスタックに配置される。 (ja)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 4094920 (xsd:integer)
dbo:wikiPageLength
  • 2590 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 81100594 (xsd:integer)
dbo:wikiPageWikiLink
prop-ja:wikiPageUsesTemplate
dct:subject
rdfs:comment
  • コンピュータにおいて、スタックトレース(英語: stack trace)とは、プログラムの実行中の特定の時点でのアクティブなスタックフレームのレポートである。スタックバックトレース(英語: stack backtrace)、スタックトレースバック(英語: stack traceback)とも言い、単にバックトレースとも言う(gdbでのレポートコマンドは、バックトレース(backtrace)を縮めたbtである)。 プログラムが実行されると、多くの場合、スタックとヒープの2つの場所にメモリが動的に割り当てられる。スタックという言葉はプログラムの構文についても使われるため、区別するために、このスタックはコールスタック(call stack)と呼ばれる。技術的には、メモリブロックがスタックに割り当てられると、その前に他のメモリブロックが割り当てられている可能性があるため、簡単に削除することはできない。プログラムで関数が呼び出されるたびに、スタックフレーム(またはアクティベーションレコード)と呼ばれるコールスタックの最上部にメモリブロックが割り当てられる。高レベルでは、スタックフレームは、関数内で宣言された関数のパラメータとローカル変数にメモリを割り当てる。 次の、エラーが含まれたPythonプログラムで説明する。 (ja)
  • コンピュータにおいて、スタックトレース(英語: stack trace)とは、プログラムの実行中の特定の時点でのアクティブなスタックフレームのレポートである。スタックバックトレース(英語: stack backtrace)、スタックトレースバック(英語: stack traceback)とも言い、単にバックトレースとも言う(gdbでのレポートコマンドは、バックトレース(backtrace)を縮めたbtである)。 プログラムが実行されると、多くの場合、スタックとヒープの2つの場所にメモリが動的に割り当てられる。スタックという言葉はプログラムの構文についても使われるため、区別するために、このスタックはコールスタック(call stack)と呼ばれる。技術的には、メモリブロックがスタックに割り当てられると、その前に他のメモリブロックが割り当てられている可能性があるため、簡単に削除することはできない。プログラムで関数が呼び出されるたびに、スタックフレーム(またはアクティベーションレコード)と呼ばれるコールスタックの最上部にメモリブロックが割り当てられる。高レベルでは、スタックフレームは、関数内で宣言された関数のパラメータとローカル変数にメモリを割り当てる。 次の、エラーが含まれたPythonプログラムで説明する。 (ja)
rdfs:label
  • スタックトレース (ja)
  • スタックトレース (ja)
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is owl:sameAs of
is foaf:primaryTopic of