適用於:SQL Server
中斷點動作指定 Transact-SQL 偵錯工具針對中斷點所執行的自訂工作。 如果已達到指定的命中次數且滿足指定的中斷點條件,偵錯工具就會執行為中斷點指定的動作。
措施考量
中斷點的預設動作是在滿足命中次數和中斷點條件時中斷程式執行。 Transact-SQL 偵錯工具中動作的主要用法,是將資訊列印至偵錯工具 [輸出] 視窗。
訊息是在 [在輸出視窗中顯示訊息] 框中指定,並作為文字字串指定,其中包括包含偵錯中 Transact-SQL 資訊的運算式。 運算式包含:
以大括號 (
{}) 括住的 Transact-SQL 運算式。 運算式可以包含 Transact-SQL 變數、參數和內建函數。 範例包括{@MyVariable}、{@NameParameter}、{@@SPID}或{SERVERPROPERTY('ProcessID')}。下列其中一個關鍵字:
$ADDRESS會傳回設定中斷點之預存程序或使用者定義函數的名稱。 如果中斷點是在編輯器視窗中設定,$ADDRESS會傳回編輯中指令碼檔案的名稱。$ADDRESS和$FUNCTION會在 Transact-SQL 偵錯工具中傳回相同資訊。$CALLER會傳回呼叫預存程序或函數之 Transact-SQL 程式碼單元的名稱。 如果中斷點位於在編輯器視窗中,$CALLER會傳回<No caller available>。 如果中斷點是在編輯器視窗中程式碼所呼叫的預存程序或使用者定義函數中,$CALLER會傳回編輯中檔案的名稱。 如果中斷點是在另一個預存程序或函數所呼叫的預存程序或使用者定義函數中,$CALLER會傳回呼叫程序或函數的名稱。$CALLSTACK會傳回鏈結中呼叫目前預存程序或使用者定義函數之函數的呼叫堆疊。 如果中斷點是在編輯器視窗中,$CALLSTACK會傳回編輯中指令碼檔案的名稱。$FUNCTION會傳回設定中斷點之預存程序或使用者定義函數的名稱。 如果中斷點是在編輯器視窗中設定,$FUNCTION會傳回編輯中指令碼檔案的名稱。$PID和$PNAME會傳回執行 Transact-SQL 的資料庫引擎實例中,操作系統進程的 ID 和名稱。$PID會傳回與SERVERPROPERTY('ProcessID')相同的 ID,不同之處在於$PID是十六進位值,而SERVERPROPERTY('ProcessID')是十進位值。$TID與$TNAME會傳回執行 Transact-SQL 批次之作業系統執行緒的 ID 及名稱。 執行緒與運行 Database Engine 執行個體的處理序相關聯。$TID會傳回與SELECT kpid FROM sys.sysprocesses WHERE spid = @@SPID相同的值,不同之處在於$TID是十六進位值,而kpid是十進位值。
您也可以使用反斜線字元 (
\) 作為逸出字元,允許在訊息中使用大括號和反斜線:\{、\}和\\。
指定動作
在編輯器視窗中,以滑鼠右鍵按一下中斷點字符,然後選取快速鍵選單上的 [動作]。
-或-
在 [中斷點] 視窗中,以滑鼠右鍵按一下中斷點字符,然後選取快速鍵選單上的 [設定]。
在 [中斷點設定] 對話框中,選取 [動作] 選項。
在 [於輸出視窗顯示訊息] 對話方塊中,輸入表達式。
如果不要讓中斷點暫停執行,請選取 [繼續程式碼執行]。 只有在您選取行動選項時,此選項才會啟用。
選取 [關閉] 以執行變更。