How to pend-ignore a given assertion? (Display Driver Model assertion)

In WinDbg I am getting the following on a checked build of Windows 7
(32-bit):


*** Display Driver Model assertion failure detected @90648031.
Break to debug, Ignore, ignore All (bia)? a

So since the address is different on every boot, I thought perhaps I
can base the address on the dxgkrnl.sys module inside of which the
assertion happens:


kd> !address 0x90648031
Mapping user range …
Mapping system range …
Mapping page tables…
Mapping hyperspace…
Mapping HAL reserved range…
Mapping User Probe Area…
Mapping system shared page…
Mapping VAD regions…
Mapping module regions…
Mapping process, thread, and stack regions…
Mapping system cache regions…

Usage: Module
Base Address: 9063c000
End Address: 9070f000
Region Size: 000d3000
VA Type: DriverImages
Module name: dxgkrnl.sys
Module path: [\SystemRoot\System32\drivers\dxgkrnl.sys]

But that’s how far I can get.

So I *can* issue ahi dxgkrnl+0xC031 in my startup script, but that
will merely give me:


kd> ahi dxgkrnl+0xC031
Couldn’t resolve error at ‘dxgkrnl+0xC031’

… since the module has not been loaded when the debugger connects.

How would I go about to execute this automatically as soon as
dxgkrnl.sys has been loaded? Is there a way?

Thanks,

// Oliver

Hi again,

just to inform you of further things I’ve tried so far. To catch loading
of the dxgkrnl.sys I’m now using


kd> sxe -c “ahi dxgkrnl+0xC031;g” ld :dxgkrnl

to have it automatically ignore the assertions depending on the base
address of said module.

In the WinDbg output I can see that take effect because ahi outputs
the line:


dxgkrnl!DMM::AutoBuffer<_KEY_VALUE_PARTIAL_INFORMATION>::Initialize+0x49
(9041f031)- ignore

However, unfortunately I still get the prompt which I wanted to get rid of:


*** Display Driver Model assertion failure detected @9041F031.
Break to debug, Ignore, ignore All (bia)?

// Oliver

PS: Also, using sxe ld together with a command gets kind of
cumbersome, because in my case I want to ignore assertions from sechost
as well. But to do that I need to pass another sxe command inside the
first one, escaping double quotes. That will become quite cumbersome if
I need to ignore more than two assertions in separate modules.
Only the last sxe ld is ever considered, according to the documentation.