診斷和偵錯
RDBSS 提供一些用於診斷和偵錯的常式。 這些常式分為兩種類別:
判斷提示和偵錯常式
參考和取值追蹤常式
這些常式包含下表中的專案。
常式傳回的值 | 描述 |
---|---|
此常式會在已安裝 RDBSS 的已核取組建中,將判斷提示字串傳送至核心偵錯工具。 使用 rxAssert.h 包含檔案時,也會重新定義 Windows 核心 RtlAssert 呼叫來呼叫此 RxAssert 常式。 對於零售組建,呼叫此常式將會檢查錯誤。 |
|
如果已安裝,此常式會引發核心偵錯工具所處理的例外狀況;否則,會由偵錯系統處理。 |
|
此常式用來追蹤在核取組建中參考SRV_CALL、NET_ROOT、V_NET_ROOT、FOBX、FCB 和SRV_OPEN結構的要求。 記錄系統和 WMI 可以存取這些參考要求的記錄。 這個常式不會執行取值作業。 對於零售組建,此常式不會執行任何動作。 |
|
此常式用來追蹤取值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結構上的檔案結構管理作業。 這些宏會先呼叫對應的 RxpTrackReference 或 RxpTrackDereference 常式來記錄診斷資訊,再呼叫對應的 RxReference 或 RxDeference 常式。 RDBSS 記錄系統和 WMI 可以存取參考和取值要求的記錄。
巨集 | 描述 |
---|---|
RxDereferenceAndFinalizeNetFcb (Fcb、RxCoNtext、 RecursiveFinalize、 ForceFinalize) |
這個宏用來追蹤 FCB 結構的取值作業。 請注意,這個宏會操作參考計數,也會傳回完成呼叫的狀態。 |
RxDereferenceNetFcb (Fcb) |
這個宏用來追蹤 FCB 結構的取值作業。 請注意,這個宏會操作參考計數,也會傳回最終取值呼叫的狀態。 |
RxDereferenceNetFobx (Fobx,LockHoldingState) |
這個宏可用來追蹤 FOBX 結構的取值作業。 |
RxDereferenceNetRoot (NetRoot、 LockHoldingState) |
這個宏用來追蹤NET_ROOT結構的取值作業。 |
RxDereferenceSrvCall (SrvCall、 LockHoldingState) |
這個宏可用來追蹤SRV_CALL結構的取值作業。 |
RxDereferenceSrvOpen ( SrvOpen, LockHoldingState) |
這個宏可用來追蹤SRV_OPEN結構的取值作業。 |
RxDereferenceVNetRoot ( VNetRoot、 LockHoldingState) |
這個宏用來追蹤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結構的參考作業。 |