is DPC queue display in !pcr broken?

I’m trying to use !pcr to look at queued DPCs. The command:
7: kd> !pcr 0
KPCR for Processor 0 at fffff80197b04000:
Major 1 Minor 1
NtTib.ExceptionList: fffff801992a0000
NtTib.StackBase: fffff801992a1080
NtTib.StackLimit: 0000000003bbf128
NtTib.SubSystemTib: fffff80197b04000
NtTib.Version: 0000000097b04180
NtTib.UserPointer: fffff80197b047f0
NtTib.SelfTib: 000000007fea7000

SelfPcr: 0000000000000000
Prcb: fffff80197b04180
Irql: 0000000000000000
IRR: 0000000000000000
IDR: 0000000000000000
InterruptMode: 0000000000000000
IDT: 0000000000000000
GDT: 0000000000000000
TSS: 0000000000000000

CurrentThread: fffff80197b5ca00
NextThread: ffffe00102f0b6c0
IdleThread: fffff80197b5ca00

DpcQueue: Unable to read nt!_KDPC_DATA.DpcListHead.Flink @ fffff80197b06f00

Based on the command below, nt!_KDPC_DATA has no element named DpcListHead.

7: kd> dt nt!_KDPC_DATA
+0x000 DpcList : _KDPC_LIST
+0x010 DpcLock : Uint8B
+0x018 DpcQueueDepth : Int4B
+0x01c DpcCount : Uint4B
+0x020 ActiveDpc : Ptr64 _KDPC

I can walk the list manually by following DpcList, but isn’t that what the command is supposed to do?

thanks!

doesn’t !dpcs provide the info ?

kd> !dpcs 0
CPU Type KDPC Function

On 8/12/16, xxxxx@gmail.com wrote:
> I’m trying to use !pcr to look at queued DPCs. The command:
> 7: kd> !pcr 0
> KPCR for Processor 0 at fffff80197b04000:
> Major 1 Minor 1
> NtTib.ExceptionList: fffff801992a0000
> NtTib.StackBase: fffff801992a1080
> NtTib.StackLimit: 0000000003bbf128
> NtTib.SubSystemTib: fffff80197b04000
> NtTib.Version: 0000000097b04180
> NtTib.UserPointer: fffff80197b047f0
> NtTib.SelfTib: 000000007fea7000
>
> SelfPcr: 0000000000000000
> Prcb: fffff80197b04180
> Irql: 0000000000000000
> IRR: 0000000000000000
> IDR: 0000000000000000
> InterruptMode: 0000000000000000
> IDT: 0000000000000000
> GDT: 0000000000000000
> TSS: 0000000000000000
>
> CurrentThread: fffff80197b5ca00
> NextThread: ffffe00102f0b6c0
> IdleThread: fffff80197b5ca00
>
> DpcQueue: Unable to read nt!_KDPC_DATA.DpcListHead.Flink @
> fffff80197b06f00
>
> Based on the command below, nt!_KDPC_DATA has no element named DpcListHead.
>
>
> 7: kd> dt nt!_KDPC_DATA
> +0x000 DpcList : _KDPC_LIST
> +0x010 DpcLock : Uint8B
> +0x018 DpcQueueDepth : Int4B
> +0x01c DpcCount : Uint4B
> +0x020 ActiveDpc : Ptr64 _KDPC
>
> I can walk the list manually by following DpcList, but isn’t that what the
> command is supposed to do?
>
> thanks!
>
>
> —
> WINDBG is sponsored by OSR
>
> OSR is hiring!! Info at http://www.osr.com/careers
>
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and software
> drivers!
> Details at http:
>
> To unsubscribe, visit the List Server section of OSR Online at
> http:
></http:></http:>

Hi Raj. Thanks, yes it does…

On Fri, Aug 12, 2016 at 2:05 PM, raj r wrote:

> doesn’t !dpcs provide the info ?
>
> kd> !dpcs 0
> CPU Type KDPC Function
>
>
>
>
> On 8/12/16, xxxxx@gmail.com wrote:
> > I’m trying to use !pcr to look at queued DPCs. The command:
> > 7: kd> !pcr 0
> > KPCR for Processor 0 at fffff80197b04000:
> > Major 1 Minor 1
> > NtTib.ExceptionList: fffff801992a0000
> > NtTib.StackBase: fffff801992a1080
> > NtTib.StackLimit: 0000000003bbf128
> > NtTib.SubSystemTib: fffff80197b04000
> > NtTib.Version: 0000000097b04180
> > NtTib.UserPointer: fffff80197b047f0
> > NtTib.SelfTib: 000000007fea7000
> >
> > SelfPcr: 0000000000000000
> > Prcb: fffff80197b04180
> > Irql: 0000000000000000
> > IRR: 0000000000000000
> > IDR: 0000000000000000
> > InterruptMode: 0000000000000000
> > IDT: 0000000000000000
> > GDT: 0000000000000000
> > TSS: 0000000000000000
> >
> > CurrentThread: fffff80197b5ca00
> > NextThread: ffffe00102f0b6c0
> > IdleThread: fffff80197b5ca00
> >
> > DpcQueue: Unable to read nt!_KDPC_DATA.DpcListHead.Flink
> @
> > fffff80197b06f00
> >
> > Based on the command below, nt!_KDPC_DATA has no element named
> DpcListHead.
> >
> >
> > 7: kd> dt nt!_KDPC_DATA
> > +0x000 DpcList : _KDPC_LIST
> > +0x010 DpcLock : Uint8B
> > +0x018 DpcQueueDepth : Int4B
> > +0x01c DpcCount : Uint4B
> > +0x020 ActiveDpc : Ptr64 _KDPC
> >
> > I can walk the list manually by following DpcList, but isn’t that what
> the
> > command is supposed to do?
> >
> > thanks!
> >
> >
> > —
> > WINDBG is sponsored by OSR
> >
> > OSR is hiring!! Info at http://www.osr.com/careers
> >
> >
> > MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software
> > drivers!
> > Details at http:
> >
> > To unsubscribe, visit the List Server section of OSR Online at
> > http:
> >
>
> —
> WINDBG is sponsored by OSR
>
> OSR is hiring!! Info at http://www.osr.com/careers
>
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software drivers!
> Details at http:
>
> To unsubscribe, visit the List Server section of OSR Online at <
> http://www.osronline.com/page.cfm?name=ListServer&gt;
>


Wade Dawson
DT Multimedia</http:></http:></http:>