Диагностика и отладка
RDBSS предоставляет ряд подпрограмм для диагностики и отладки. Эти подпрограммы делятся на две категории:
Подпрограммы утверждения и отладки
Процедуры отслеживания ссылок и разыменования
Эти подпрограммы включают элементы в следующей таблице.
Подпрограмма | Описание |
---|---|
Эта подпрограмма отправляет строку утверждения в проверенных сборках RDBSS в отладчик ядра, если она установлена. При использовании включаемого файла rxAssert.h вызовы RtlAssert ядра Windows также будут переопределяться для вызова этой процедуры 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) |
Этот макрос используется для отслеживания ссылочных операций в SRV_CALL структурах, которые не находятся на уровне DPC. |
RxReferenceSrvCallAtDpc (SrvCall) |
Этот макрос используется для отслеживания ссылочных операций в SRV_CALL структурах на уровне DPC. |
RxReferenceSrvOpen (SrvOpen) |
Этот макрос используется для отслеживания ссылочных операций в SRV_OPEN структурах. |
RxReferenceVNetRoot (VNetRoot) |
Этот макрос используется для отслеживания ссылочных операций в V_NET_ROOT структурах. |