Compartir a través de


Diagnósticos y depuración

RDBSS proporciona una serie de rutinas para fines de diagnóstico y depuración. Estas rutinas se dividen en dos categorías:

  • Rutinas de aserción y depuración

  • Rutinas de seguimiento de referencia y desreferencia

Estas rutinas incluyen los elementos de la tabla siguiente.

Rutina Descripción

RxAssert

Esta rutina envía una cadena de aserción en compilaciones activadas de RDBSS a un depurador de kernel si se instala una. Cuando se usa el archivo de inclusión rxAssert.h, las llamadas rtlAssert del kernel de Windows también se redefinirán para llamar a esta rutina RxAssert .

En el caso de las compilaciones comerciales, las llamadas a esta rutina comprobarán los errores.

RxDbgBreakPoint

Esta rutina genera una excepción que controla el depurador de kernel si se instala una; de lo contrario, se controla mediante el sistema de depuración.

RxpTrackDereference

Esta rutina se usa para realizar un seguimiento de una solicitud para hacer referencia a estructuras de SRV_CALL, NET_ROOT, V_NET_ROOT, FOBX, FCB y SRV_OPEN en compilaciones comprobadas. El sistema de registro y WMI pueden acceder a un registro de estas solicitudes de referencia. Esta rutina no realiza la operación de desreferencia.

Para las compilaciones comerciales, esta rutina no hace nada.

RxpTrackReference

Esta rutina se usa para realizar un seguimiento de una solicitud para desreferenciar SRV_CALL, NET_ROOT, V_NET_ROOT, FOBX, FCB y estructuras de SRV_OPEN en compilaciones comprobadas. El sistema de registro y WMI pueden acceder a un registro de estas solicitudes de desreferencia. Esta rutina no realiza la operación de referencia.

Para las compilaciones comerciales, esta rutina no hace nada.

Además de las rutinas enumeradas en la tabla anterior, se definen varias macros que llaman a estas rutinas para la depuración. Estas macros, que se enumeran en la tabla siguiente, proporcionan un contenedor alrededor de las rutinas RxReference o RxDereference usadas para las operaciones de administración de estructuras de archivos en SRV_CALL, NET_ROOT, V_NET_ROOT, FOBX, FCB y estructuras de SRV_OPEN. Estas macros llaman primero a la rutina RxpTrackReference o RxpTrackDereference correspondiente para registrar información de diagnóstico antes de llamar a la rutina RxReference o RxDeference correspondiente. El sistema de registro de RDBSS y WMI puede acceder a un registro de las solicitudes de referencia y desreferencia.

Macro Descripción

RxDereferenceAndFinalizeNetFcb (Fcb ,RxContext, RecursiveFinalize, ForceFinalize)

Esta macro se usa para realizar un seguimiento de las operaciones de desreferencia en estructuras FCB.

Tenga en cuenta que esta macro manipula el recuento de referencias y también devuelve el estado de la llamada finalize.

RxDereferenceNetFcb (Fcb)

Esta macro se usa para realizar un seguimiento de las operaciones de desreferencia en estructuras FCB.

Tenga en cuenta que esta macro manipula el recuento de referencias y también devuelve el estado de la llamada de desreferencia final.

RxDereferenceNetFobx (Fobx,LockHoldingState)

Esta macro se usa para realizar un seguimiento de las operaciones de desreferencia en estructuras FOBX.

RxDereferenceNetRoot (NetRoot, LockHoldingState)

Esta macro se usa para realizar un seguimiento de las operaciones de desreferencia en estructuras de NET_ROOT.

RxDereferenceSrvCall (SrvCall, LockHoldingState)

Esta macro se usa para realizar un seguimiento de las operaciones de desreferencia en estructuras de SRV_CALL.

RxDereferenceSrvOpen ( SrvOpen, LockHoldingState)

Esta macro se usa para realizar un seguimiento de las operaciones de desreferencia en estructuras de SRV_OPEN.

RxDereferenceVNetRoot ( VNetRoot, LockHoldingState)

Esta macro se usa para realizar un seguimiento de las operaciones de desreferencia en estructuras de NET_ROOT.

RxReferenceNetFcb (Fcb)

Esta macro se usa para realizar un seguimiento de las operaciones de referencia en estructuras FCB.

RxReferenceNetFobx (Fobx)

Esta macro se usa para realizar un seguimiento de las operaciones de referencia en estructuras FOBX.

RxReferenceNetRoot (NetRoot)

Esta macro se usa para realizar un seguimiento de las operaciones de referencia en estructuras de NET_ROOT.

RxReferenceSrvCall (SrvCall)

Esta macro se usa para realizar un seguimiento de las operaciones de referencia en SRV_CALL estructuras que no están en el nivel DPC.

RxReferenceSrvCallAtDpc (SrvCall)

Esta macro se usa para realizar un seguimiento de las operaciones de referencia en estructuras de SRV_CALL en el nivel DPC.

RxReferenceSrvOpen (SrvOpen)

Esta macro se usa para realizar un seguimiento de las operaciones de referencia en estructuras de SRV_OPEN.

RxReferenceVNetRoot (VNetRoot)

Esta macro se usa para realizar un seguimiento de las operaciones de referencia en estructuras de V_NET_ROOT.