17.00 - 17.05 - watch - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

目的

このコマンドは、マルチスレッド/マルチプロセスの分散実行に適していない標準GDB watchコマンドを置き換えます。スレッドは、最大4つの監視対象アドレスを持つことができます。ウォッチポイントの定義では、4つのウォッチ スロットのうち、次に使用可能なウォッチ スロットを使用します。このコマンドは、指定のアドレス上で条件が発生するとスレッドが停止するように、ハードウェア デバッグ レジスタを現在のスレッドに直接割り当てます。

これは、スレッドごとに適用されます。ウォッチポイントが設定されたUDFが存在する場合、ウォッチポイントは暗黙的に削除されます。前のUDFも実行したスレッド上でUDFが実行されている場合でも、ウォッチポイントはUDFごとに再確立する必要があります。

構文

watch[/modelocation
mode
監視対象のメモリ アクセスの種類を指定します。
  • dはウォッチポイントを削除
  • rはメモリの読み取りアクセス
  • wはメモリの書き込みアクセス
  • xは命令実行アクセス
監視するバイト数は、指定の位置のサイズにデフォルトで設定されますが、モード文字の前に1、2、4、または8を配置することで上書きすることができます。監視できるのはこれらのサイズだけです。
'd'のモードは、前に指定されたウォッチポイントを削除します。監視する位置の代わりに、ウォッチポイント番号(0、1、2、または3)を後に続ける必要があります。
ハードウェア実行ウォッチポイントはサポートされていますが、一般に通常のGDBブレークポイントがより効果的なため、使用されることはほとんどありません。
location
監視対象の位置のアドレスを出す式。

使用上の注意

関数のエントリにブレークポイントが設定されたすべてのUDFにウォッチポイントを適用させることができます。これにより、希望のwatchpointとcontinueが設定されます。

(gdb) break funcname
Breakpoint 1 at ...
(gdb) command 1
> silent
> watch location/w
> continue
>end
(gdb)