分享方式:


指定中斷點動作

適用於: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 是十進位值。

  • 您也可以使用反斜線字元 (\) 作為逸出字元,允許在訊息中使用大括號和反斜線:\{\}\\

指定動作

  1. 在編輯器視窗中,以滑鼠右鍵按一下中斷點字符,然後選取快速鍵選單上的 [動作]

    -或-

    在 [中斷點] 視窗中,以滑鼠右鍵按一下中斷點字符,然後選取快速鍵選單上的 [設定]

  2. 在 [中斷點設定] 對話框中,選取 [動作] 選項。

  3. 在 [於輸出視窗顯示訊息] 對話方塊中,輸入表達式。

  4. 如果不要讓中斷點暫停執行,請選取 [繼續程式碼執行]。 只有在您已選取 [行動] 選項時,才能使用這個選項。

  5. 選取 [關閉] 以執行變更。