共用方式為


診斷和偵錯

RDBSS 提供一些用於診斷和偵錯的常式。 這些常式分為兩種類別:

  • 判斷提示和偵錯常式

  • 參考和取值追蹤常式

這些常式包含下表中的專案。

常式傳回的值 描述

RxAssert

此常式會在已安裝 RDBSS 的已核取組建中,將判斷提示字串傳送至核心偵錯工具。 使用 rxAssert.h 包含檔案時,也會重新定義 Windows 核心 RtlAssert 呼叫來呼叫此 RxAssert 常式。

對於零售組建,呼叫此常式將會檢查錯誤。

RxDbgBreakPoint

如果已安裝,此常式會引發核心偵錯工具所處理的例外狀況;否則,會由偵錯系統處理。

RxpTrackDereference

此常式用來追蹤在核取組建中參考SRV_CALL、NET_ROOT、V_NET_ROOT、FOBX、FCB 和SRV_OPEN結構的要求。 記錄系統和 WMI 可以存取這些參考要求的記錄。 這個常式不會執行取值作業。

對於零售組建,此常式不會執行任何動作。

RxpTrackReference

此常式用來追蹤取值SRV_CALL、NET_ROOT、V_NET_ROOT、FOBX、FCB 和已核取組建中SRV_OPEN結構的要求。 記錄系統和 WMI 可以存取這些取值要求的記錄。 這個常式不會執行參考作業。

對於零售組建,此常式不會執行任何動作。

除了上表所列的常式之外,還會定義呼叫這些常式的一些宏來進行偵錯。 下表所列的這些宏提供RxReference 或 RxDereference常式的包裝函式,用於SRV_CALL、NET_ROOT、V_NET_ROOT、FOBX、FCB 和SRV_OPEN結構上的檔案結構管理作業。 這些宏會先呼叫對應的 RxpTrackReferenceRxpTrackDereference 常式來記錄診斷資訊,再呼叫對應的 RxReferenceRxDeference 常式。 RDBSS 記錄系統和 WMI 可以存取參考和取值要求的記錄。

巨集 描述

RxDereferenceAndFinalizeNetFcb (Fcb、RxCoNtextRecursiveFinalizeForceFinalize)

這個宏用來追蹤 FCB 結構的取值作業。

請注意,這個宏會操作參考計數,也會傳回完成呼叫的狀態。

RxDereferenceNetFcb (Fcb)

這個宏用來追蹤 FCB 結構的取值作業。

請注意,這個宏會操作參考計數,也會傳回最終取值呼叫的狀態。

RxDereferenceNetFobx (Fobx,LockHoldingState)

這個宏可用來追蹤 FOBX 結構的取值作業。

RxDereferenceNetRoot (NetRootLockHoldingState)

這個宏用來追蹤NET_ROOT結構的取值作業。

RxDereferenceSrvCall (SrvCallLockHoldingState)

這個宏可用來追蹤SRV_CALL結構的取值作業。

RxDereferenceSrvOpen ( SrvOpenLockHoldingState)

這個宏可用來追蹤SRV_OPEN結構的取值作業。

RxDereferenceVNetRoot ( VNetRootLockHoldingState)

這個宏用來追蹤NET_ROOT結構的取值作業。

RxReferenceNetFcb (Fcb)

這個宏是用來追蹤 FCB 結構的參考作業。

RxReferenceNetFobx (Fobx)

這個宏可用來追蹤 FOBX 結構的參考作業。

RxReferenceNetRoot (NetRoot)

這個宏是用來追蹤NET_ROOT結構的參考作業。

RxReferenceSrvCall (SrvCall)

此宏是用來追蹤不在 DPC 層級之SRV_CALL結構的參考作業。

RxReferenceSrvCallAtDpc (SrvCall)

這個宏可用來追蹤 DPC 層級SRV_CALL結構的參考作業。

RxReferenceSrvOpen (SrvOpen)

這個宏是用來追蹤SRV_OPEN結構的參考作業。

RxReferenceVNetRoot (VNetRoot)

這個宏是用來追蹤V_NET_ROOT結構的參考作業。