共用方式為


診斷和偵錯

RDBSS 提供許多常式用於診斷和偵錯目的。 這些例程分為兩類:

  • 斷言和偵錯常式

  • 參照和取消參照追蹤常式

這些常式包含下表中的項目。

常規 說明

RxAssert

此常式會在已安裝核心偵錯工具的情況下,將 RDBSS 已檢查的組建中的斷言字串傳送至該工具。 使用 rxAssert.h 包含檔案時,將會重新定義 Windows 核心 RtlAssert 呼叫,以呼叫此 RxAssert 常式。

針對零售版本,呼叫此常式會觸發錯誤檢查。

RxDbg中斷點

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

RxpTrackDereference

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

對於零售構建,此例程沒有任何作用。

Rxp追蹤參考

此例程用於在已檢查組建中追蹤對 SRV_CALL、NET_ROOT、V_NET_ROOT、FOBX、FCB 和 SRV_OPEN 結構的解參照請求。 記錄系統和 WMI 可以存取這些取值要求的記錄檔。 此常式不會執行參照作業。

對於零售構建,此例程沒有任何作用。

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

巨集 說明

RxDereferenceAndFinalizeNetFcbFcb ,RxContextRecursiveFinalizeForceFinalize

此巨集用於追蹤 FCB 結構上的取消參考操作。

請注意,此巨集會操作參考計數,也會傳回完成呼叫的狀態。

RxDereferenceNetFcbFcb

此巨集用於追蹤 FCB 結構上的取消參考操作。

請注意,此巨集會操作參考計數,並傳回最終取消參照呼叫的狀態。

RxDereferenceNetFobxFobx,LockHoldingState

此巨集可用來追蹤 FOBX 結構上的取消參考作業。

RxDereferenceNetRootNetRootLockHoldingState

此巨集用來追蹤NET_ROOT結構上的取消參照作業。

RxDereferenceSrvCallSrvCallLockHoldingState

此巨集用來追蹤SRV_CALL結構上的取消參照作業。

RxDereferenceSrvOpenSrvOpenLockHoldingState

此巨集可用來追蹤SRV_OPEN結構上的取消參照作業。

RxDereferenceVNetRootVNetRootLockHoldingState

此巨集用來追蹤NET_ROOT結構上的取消參照作業。

RxReferenceNetFcbFcb

此巨集用於追蹤 FCB 結構上的參考操作。

RxReferenceNetFobxFobx

此巨集用於追蹤 FOBX 結構上的參考作業。

RxReferenceNetRootNetRoot

此巨集用於追蹤NET_ROOT結構上的參考作業。

RxReferenceSrvCallSrvCall

此巨集可用來追蹤非 DPC 層級的 SRV_CALL 結構上的參考作業。

RxReferenceSrvCallAtDpcSrvCall

此巨集可用來追蹤 DPC 層級SRV_CALL結構上的參考作業。

RxReferenceSrvOpenSrvOpen

此巨集用來追蹤SRV_OPEN結構上的參考作業。

RxReferenceVNetRootVNetRoot

此巨集用來追蹤V_NET_ROOT結構上的參考作業。