breakpointing error woes/bug

I am having the following problem/bug (and no, i seriously don’t think
it’s a symbols problem :)…

  • I set windbg to break on boot.
  • I set an un-resolved breakpoint (bu) on a display driver function
  • system boots, loads the display driver (but my function is never
    called, so no breakpoint is hit. this is expected)
  • the system unloads the display driver, then reloads it

At this point the following I start getting errors about trying to set a
breakpoint twice. I am loading the driver over the serial connection
(via kdfiles) as the machine boots, so this may have something to do
with the error. If I clear all the breakpoints, and don’t set any more,
then the system resumes normally (which doesn’t help me cause I need to
step through a bad function :)…

My system config is:
Target Machine: WinXP
Host Machine: WinXP running WinDBG 6.0.0017.0
Connection type: Serial

Here’s a (long) paste of what’s going on:

-------- SNIP ---------

KD: Accessing
‘D:\funk\proxy4\Host\kernel\build\chk_w2k\i386\phmdisp.dll’
(\SystemRoot\System32\phmdisp.dll)
File size 128K…
MmLoadSystemImage: Pulled \SystemRoot\System32\phmdisp.dll from kd
MiSessionWideReserveImageAddress: NO Code Sharing on
\SystemRoot\System32\phmdisp.dll, Address 0xbf9ba000
PHMIRROR: DrvEnableDriver iEngineVersion=30100 cj=12 pded=f98c29c4
PHMIRROR: DrvEnableDriver exiting.
PHMIRROR: DrvGetModes hDriver=82050c10
PHMIRROR: DrvGetModes returns 0000
PHMIRROR: DrvDisableDriver called.
KD: Accessing
‘D:\funk\proxy4\Host\kernel\build\chk_w2k\i386\phmdisp.dll’
(\SystemRoot\System32\phmdisp.dll)
File size 128K…
MmLoadSystemImage: Pulled \SystemRoot\System32\phmdisp.dll from kd
MiSessionWideReserveImageAddress: NO Code Sharing on
\SystemRoot\System32\phmdisp.dll, Address 0xbf9ba000
KD: Attempt to set breakpoint bf9d1af4 twice!
Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
“{Operation Failed} The requested operation was unsuccessful.”
bp0 at bf9d1af4 failed
WaitForEvent failed
nt!DebugService2+f:
80ab2373 5d pop ebp
*** ERROR: Module load completed but symbols could not be loaded for
ntdll.dll
kd> bl
0 e bf9d1af4 0001 (0001) phmdisp!ProxyWriteKernError

kd> bc 0
kd> bu phmdisp!ProxyWriteKernError
WARNING: Software breakpoints on session addresses can cause bugchecks.
Use hardware execution breakpoints (ba e) if possible.
kd> g
KD: Attempt to set breakpoint bf9d1af4 twice!
Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
“{Operation Failed} The requested operation was unsuccessful.”
bp0 at bf9d1af4 failed
WaitForEvent failed
nt!DebugService2+f:
80ab2373 5d pop ebp
kd> bl
0 e bf9d1af4 0001 (0001) phmdisp!ProxyWriteKernError

kd> bc 0
kd> bp phmdisp!ProxyWriteKernError
WARNING: Software breakpoints on session addresses can cause bugchecks.
Use hardware execution breakpoints (ba e) if possible.
kd> g
KD: Attempt to set breakpoint bf9d1af4 twice!
Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
“{Operation Failed} The requested operation was unsuccessful.”
bp0 at bf9d1af4 failed
WaitForEvent failed
nt!DebugService2+f:
80ab2373 5d pop ebp
kd> bc *
kd> bl

kd> g
PHMIRROR: DrvEnableDriver iEngineVersion=30100 cj=12 pded=f98c2a58
PHMIRROR: DrvEnableDriver exiting.
PHMIRROR: DrvEnablePDEV hdev=e1881008 hDriver=82050c10
-------- SNIP --------
(and boot proceeds from here)

Seems like the logic for how ‘bu’ handles the persistant breakpoint
across loads/unloads of drivers is going awry in this case…

Thanks,
sean

The debugger thinks your code is running in session space and so tells
you to use “ba e” instead of “bu” or “bp”. Did you try to use “ba e”?

kd> bu phmdisp!ProxyWriteKernError
WARNING: Software breakpoints on session addresses can cause bugchecks.
Use hardware execution breakpoints (ba e) if possible.

-----Original Message-----
From: Sean Bullington [mailto:xxxxx@stg.com]
Sent: Friday, August 23, 2002 9:20 AM
To: Kernel Debugging Interest List
Subject: [windbg] breakpointing error woes/bug

I am having the following problem/bug (and no, i seriously don’t think
it’s a symbols problem :)…

  • I set windbg to break on boot.
  • I set an un-resolved breakpoint (bu) on a display driver function
  • system boots, loads the display driver (but my function is never
    called, so no breakpoint is hit. this is expected)
  • the system unloads the display driver, then reloads it

At this point the following I start getting errors about trying to set a

breakpoint twice. I am loading the driver over the serial connection
(via kdfiles) as the machine boots, so this may have something to do
with the error. If I clear all the breakpoints, and don’t set any more,
then the system resumes normally (which doesn’t help me cause I need to
step through a bad function :)…

My system config is:
Target Machine: WinXP
Host Machine: WinXP running WinDBG 6.0.0017.0
Connection type: Serial

Here’s a (long) paste of what’s going on:

-------- SNIP ---------

KD: Accessing
‘D:\funk\proxy4\Host\kernel\build\chk_w2k\i386\phmdisp.dll’
(\SystemRoot\System32\phmdisp.dll)
File size 128K…
MmLoadSystemImage: Pulled \SystemRoot\System32\phmdisp.dll from kd
MiSessionWideReserveImageAddress: NO Code Sharing on
\SystemRoot\System32\phmdisp.dll, Address 0xbf9ba000
PHMIRROR: DrvEnableDriver iEngineVersion=30100 cj=12 pded=f98c29c4
PHMIRROR: DrvEnableDriver exiting.
PHMIRROR: DrvGetModes hDriver=82050c10
PHMIRROR: DrvGetModes returns 0000
PHMIRROR: DrvDisableDriver called.
KD: Accessing
‘D:\funk\proxy4\Host\kernel\build\chk_w2k\i386\phmdisp.dll’
(\SystemRoot\System32\phmdisp.dll)
File size 128K…
MmLoadSystemImage: Pulled \SystemRoot\System32\phmdisp.dll from kd
MiSessionWideReserveImageAddress: NO Code Sharing on
\SystemRoot\System32\phmdisp.dll, Address 0xbf9ba000
KD: Attempt to set breakpoint bf9d1af4 twice!
Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
“{Operation Failed} The requested operation was unsuccessful.” bp0
at bf9d1af4 failed WaitForEvent failed
nt!DebugService2+f:
80ab2373 5d pop ebp
*** ERROR: Module load completed but symbols could not be loaded for
ntdll.dll
kd> bl
0 e bf9d1af4 0001 (0001) phmdisp!ProxyWriteKernError

kd> bc 0
kd> bu phmdisp!ProxyWriteKernError
WARNING: Software breakpoints on session addresses can cause bugchecks.
Use hardware execution breakpoints (ba e) if possible.
kd> g
KD: Attempt to set breakpoint bf9d1af4 twice!
Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
“{Operation Failed} The requested operation was unsuccessful.” bp0
at bf9d1af4 failed WaitForEvent failed
nt!DebugService2+f:
80ab2373 5d pop ebp
kd> bl
0 e bf9d1af4 0001 (0001) phmdisp!ProxyWriteKernError

kd> bc 0
kd> bp phmdisp!ProxyWriteKernError
WARNING: Software breakpoints on session addresses can cause bugchecks.
Use hardware execution breakpoints (ba e) if possible.
kd> g
KD: Attempt to set breakpoint bf9d1af4 twice!
Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
“{Operation Failed} The requested operation was unsuccessful.” bp0
at bf9d1af4 failed WaitForEvent failed
nt!DebugService2+f:
80ab2373 5d pop ebp
kd> bc *
kd> bl

kd> g
PHMIRROR: DrvEnableDriver iEngineVersion=30100 cj=12 pded=f98c2a58
PHMIRROR: DrvEnableDriver exiting.
PHMIRROR: DrvEnablePDEV hdev=e1881008 hDriver=82050c10
-------- SNIP --------
(and boot proceeds from here)

Seems like the logic for how ‘bu’ handles the persistant breakpoint
across loads/unloads of drivers is going awry in this case…

Thanks,
sean


You are currently subscribed to windbg as: xxxxx@microsoft.com To
unsubscribe send a blank email to %%email.unsub%%

wouldn’t it be easier to use a hardcoded ‘_asm int 3’ in your
‘bad function’ ?
Norbert.

The only problem with ba e is that I can’t set it at boot time
(because the module isn’t loaded and thus the symbol cannot be
resolved). I was using bu so that as soon as the module was loaded it
would break on the function… If the function is called the first time
the driver is loaded, the breakpoint works just fine. If the module
reloads after that though, WinDBG fails to re-assign the breakpoint
(like the docs say it should).

I could use _asm {int 3}; like someone mentioned, but I don’t want to
hard-code breakpoints in the driver if I’m just stepping through
different portions of it… and if I had a binary driver + symbols that
someone gave me to debug this would not really be possible.

So it still seems like a bug to me :\

sean

Nathan Nesbit wrote:

The debugger thinks your code is running in session space and so tells
you to use “ba e” instead of “bu” or “bp”. Did you try to use “ba e”?

kd> bu phmdisp!ProxyWriteKernError
WARNING: Software breakpoints on session addresses can cause bugchecks.
Use hardware execution breakpoints (ba e) if possible.

-----Original Message-----
From: Sean Bullington [mailto:xxxxx@stg.com]
Sent: Friday, August 23, 2002 9:20 AM
To: Kernel Debugging Interest List
Subject: [windbg] breakpointing error woes/bug

I am having the following problem/bug (and no, i seriously don’t think
it’s a symbols problem :)…

  • I set windbg to break on boot.
  • I set an un-resolved breakpoint (bu) on a display driver function
  • system boots, loads the display driver (but my function is never
    called, so no breakpoint is hit. this is expected)
  • the system unloads the display driver, then reloads it

At this point the following I start getting errors about trying to set a

breakpoint twice. I am loading the driver over the serial connection
(via kdfiles) as the machine boots, so this may have something to do
with the error. If I clear all the breakpoints, and don’t set any more,
then the system resumes normally (which doesn’t help me cause I need to
step through a bad function :)…

My system config is:
Target Machine: WinXP
Host Machine: WinXP running WinDBG 6.0.0017.0
Connection type: Serial

Here’s a (long) paste of what’s going on:

-------- SNIP ---------

KD: Accessing
‘D:\funk\proxy4\Host\kernel\build\chk_w2k\i386\phmdisp.dll’
(\SystemRoot\System32\phmdisp.dll)
File size 128K…
MmLoadSystemImage: Pulled \SystemRoot\System32\phmdisp.dll from kd
MiSessionWideReserveImageAddress: NO Code Sharing on
\SystemRoot\System32\phmdisp.dll, Address 0xbf9ba000
PHMIRROR: DrvEnableDriver iEngineVersion=30100 cj=12 pded=f98c29c4
PHMIRROR: DrvEnableDriver exiting.
PHMIRROR: DrvGetModes hDriver=82050c10
PHMIRROR: DrvGetModes returns 0000
PHMIRROR: DrvDisableDriver called.
KD: Accessing
‘D:\funk\proxy4\Host\kernel\build\chk_w2k\i386\phmdisp.dll’
(\SystemRoot\System32\phmdisp.dll)
File size 128K…
MmLoadSystemImage: Pulled \SystemRoot\System32\phmdisp.dll from kd
MiSessionWideReserveImageAddress: NO Code Sharing on
\SystemRoot\System32\phmdisp.dll, Address 0xbf9ba000
KD: Attempt to set breakpoint bf9d1af4 twice!
Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
“{Operation Failed} The requested operation was unsuccessful.” bp0
at bf9d1af4 failed WaitForEvent failed
nt!DebugService2+f:
80ab2373 5d pop ebp
*** ERROR: Module load completed but symbols could not be loaded for
ntdll.dll
kd> bl
0 e bf9d1af4 0001 (0001) phmdisp!ProxyWriteKernError

kd> bc 0
kd> bu phmdisp!ProxyWriteKernError
WARNING: Software breakpoints on session addresses can cause bugchecks.
Use hardware execution breakpoints (ba e) if possible.
kd> g
KD: Attempt to set breakpoint bf9d1af4 twice!
Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
“{Operation Failed} The requested operation was unsuccessful.” bp0
at bf9d1af4 failed WaitForEvent failed
nt!DebugService2+f:
80ab2373 5d pop ebp
kd> bl
0 e bf9d1af4 0001 (0001) phmdisp!ProxyWriteKernError

kd> bc 0
kd> bp phmdisp!ProxyWriteKernError
WARNING: Software breakpoints on session addresses can cause bugchecks.
Use hardware execution breakpoints (ba e) if possible.
kd> g
KD: Attempt to set breakpoint bf9d1af4 twice!
Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
“{Operation Failed} The requested operation was unsuccessful.” bp0
at bf9d1af4 failed WaitForEvent failed
nt!DebugService2+f:
80ab2373 5d pop ebp
kd> bc *
kd> bl

kd> g
PHMIRROR: DrvEnableDriver iEngineVersion=30100 cj=12 pded=f98c2a58
PHMIRROR: DrvEnableDriver exiting.
PHMIRROR: DrvEnablePDEV hdev=e1881008 hDriver=82050c10
-------- SNIP --------
(and boot proceeds from here)

Seems like the logic for how ‘bu’ handles the persistant breakpoint
across loads/unloads of drivers is going awry in this case…

Thanks,
sean


You are currently subscribed to windbg as: xxxxx@microsoft.com To
unsubscribe send a blank email to %%email.unsub%%

Easy to fix…

You can tell the debugger to break on module loads with the command “sxe
ld” or even “sxe ld:”. Do that and then set the breakpoint
once your module is loaded. Turning on verbose mode (CTRL-V) will show
you messages about which modules are being loaded.

FYI, instead of using “_asm(int 3)” you can just call DbgBreakPoint().
One nice thing about DbgBreakPoint is it does the right thing on non-x86
systems.

-----Original Message-----
From: Sean Bullington [mailto:xxxxx@stg.com]
Sent: Monday, August 26, 2002 7:31 AM
To: Nathan Nesbit
Cc: Kernel Debugging Interest List
Subject: Re: [windbg] breakpointing error woes/bug

The only problem with ba e is that I can’t set it at boot time
(because the module isn’t loaded and thus the symbol cannot be
resolved). I was using bu so that as soon as the module was loaded it
would break on the function… If the function is called the first time
the driver is loaded, the breakpoint works just fine. If the module
reloads after that though, WinDBG fails to re-assign the breakpoint
(like the docs say it should).

I could use _asm {int 3}; like someone mentioned, but I don’t want to
hard-code breakpoints in the driver if I’m just stepping through
different portions of it… and if I had a binary driver + symbols that
someone gave me to debug this would not really be possible.

So it still seems like a bug to me :<br>
sean

Nathan Nesbit wrote:

>The debugger thinks your code is running in session space and so tells
>you to use “ba e” instead of “bu” or “bp”. Did you try to use “ba e”?
>
>kd> bu phmdisp!ProxyWriteKernError
>WARNING: Software breakpoints on session addresses can cause bugchecks.

>Use hardware execution breakpoints (ba e) if possible.
>
>-----Original Message-----
>From: Sean Bullington [mailto:xxxxx@stg.com]
>Sent: Friday, August 23, 2002 9:20 AM
>To: Kernel Debugging Interest List
>Subject: [windbg] breakpointing error woes/bug
>
>
>I am having the following problem/bug (and no, i seriously don’t think
>it’s a symbols problem :)…
>
>- I set windbg to break on boot.
>- I set an un-resolved breakpoint (bu) on a display driver function
>- system boots, loads the display driver (but my function is never
>called, so no breakpoint is hit. this is expected)
>- the system unloads the display driver, then reloads it
>
>At this point the following I start getting errors about trying to set
>a
>
>breakpoint twice. I am loading the driver over the serial connection
>(via kdfiles) as the machine boots, so this may have something to do
>with the error. If I clear all the breakpoints, and don’t set any more,

>then the system resumes normally (which doesn’t help me cause I need to

>step through a bad function :)…
>
>My system config is:
>Target Machine: WinXP
>Host Machine: WinXP running WinDBG 6.0.0017.0
>Connection type: Serial
>
>Here’s a (long) paste of what’s going on:
>
>-------- SNIP ---------
>
>KD: Accessing
>‘D:\funk\proxy4\Host\kernel\build\chk_w2k\i386\phmdisp.dll’
>(\SystemRoot\System32\phmdisp.dll)
> File size 128K…
>MmLoadSystemImage: Pulled \SystemRoot\System32\phmdisp.dll from kd
>MiSessionWideReserveImageAddress: NO Code Sharing on
>\SystemRoot\System32\phmdisp.dll, Address 0xbf9ba000
>PHMIRROR: DrvEnableDriver iEngineVersion=30100 cj=12 pded=f98c29c4
>PHMIRROR: DrvEnableDriver exiting.
>PHMIRROR: DrvGetModes hDriver=82050c10
>PHMIRROR: DrvGetModes returns 0000
>PHMIRROR: DrvDisableDriver called.
>KD: Accessing
>‘D:\funk\proxy4\Host\kernel\build\chk_w2k\i386\phmdisp.dll’
>(\SystemRoot\System32\phmdisp.dll)
> File size 128K…
>MmLoadSystemImage: Pulled \SystemRoot\System32\phmdisp.dll from kd
>MiSessionWideReserveImageAddress: NO Code Sharing on
>\SystemRoot\System32\phmdisp.dll, Address 0xbf9ba000
>KD: Attempt to set breakpoint bf9d1af4 twice!
>Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
> “{Operation Failed} The requested operation was unsuccessful.” bp0
>at bf9d1af4 failed WaitForEvent failed
>nt!DebugService2+f:
>80ab2373 5d pop ebp
>*** ERROR: Module load completed but symbols could not be loaded for
>ntdll.dll
>kd> bl
> 0 e bf9d1af4 0001 (0001) phmdisp!ProxyWriteKernError
>
>kd> bc 0
>kd> bu phmdisp!ProxyWriteKernError
>WARNING: Software breakpoints on session addresses can cause bugchecks.

>Use hardware execution breakpoints (ba e) if possible.
>kd> g
>KD: Attempt to set breakpoint bf9d1af4 twice!
>Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
> “{Operation Failed} The requested operation was unsuccessful.” bp0

>at bf9d1af4 failed WaitForEvent failed
>nt!DebugService2+f:
>80ab2373 5d pop ebp
>kd> bl
> 0 e bf9d1af4 0001 (0001) phmdisp!ProxyWriteKernError
>
>kd> bc 0
>kd> bp phmdisp!ProxyWriteKernError
>WARNING: Software breakpoints on session addresses can cause bugchecks.

>Use hardware execution breakpoints (ba e) if possible.
>kd> g
>KD: Attempt to set breakpoint bf9d1af4 twice!
>Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
> “{Operation Failed} The requested operation was unsuccessful.” bp0

>at bf9d1af4 failed WaitForEvent failed
>nt!DebugService2+f:
>80ab2373 5d pop ebp
>kd> bc *
>kd> bl
>
>kd> g
>PHMIRROR: DrvEnableDriver iEngineVersion=30100 cj=12 pded=f98c2a58
>PHMIRROR: DrvEnableDriver exiting.
>PHMIRROR: DrvEnablePDEV hdev=e1881008 hDriver=82050c10
>-------- SNIP --------
>(and boot proceeds from here)
>
>Seems like the logic for how ‘bu’ handles the persistant breakpoint
>across loads/unloads of drivers is going awry in this case…
>
>Thanks,
>sean
>
>
>
>—
>You are currently subscribed to windbg as: xxxxx@microsoft.com To
>unsubscribe send a blank email to %%email.unsub%%
>
>

I find that the problem with using DbgBreakPoint() is that it doesn’t break
into your code as you would think it should. It took me a while to figure
this out and I was trying to solve problems that didn’t exist.
DbgBreakPoint() seems to be a function and when it breaks you are left
inside the function. So to get to your code you need to step a bit or do a
step out. It was quite annoying and that’s why I went for the int 3’s.

If I was doing something wrong and DbgBreakPoint can be used without the
extra steps, please let me know, it would be much appreciated.

…Chris

“Nathan Nesbit” wrote in message
news:xxxxx@windbg…

Easy to fix…

You can tell the debugger to break on module loads with the command “sxe
ld” or even “sxe ld:”. Do that and then set the breakpoint
once your module is loaded. Turning on verbose mode (CTRL-V) will show
you messages about which modules are being loaded.

FYI, instead of using “_asm(int 3)” you can just call DbgBreakPoint().
One nice thing about DbgBreakPoint is it does the right thing on non-x86
systems.

-----Original Message-----
From: Sean Bullington [mailto:xxxxx@stg.com]
Sent: Monday, August 26, 2002 7:31 AM
To: Nathan Nesbit
Cc: Kernel Debugging Interest List
Subject: Re: [windbg] breakpointing error woes/bug

The only problem with ba e is that I can’t set it at boot time
(because the module isn’t loaded and thus the symbol cannot be
resolved). I was using bu so that as soon as the module was loaded it
would break on the function… If the function is called the first time
the driver is loaded, the breakpoint works just fine. If the module
reloads after that though, WinDBG fails to re-assign the breakpoint
(like the docs say it should).

I could use _asm {int 3}; like someone mentioned, but I don’t want to
hard-code breakpoints in the driver if I’m just stepping through
different portions of it… and if I had a binary driver + symbols that
someone gave me to debug this would not really be possible.

So it still seems like a bug to me :<br>
sean

Nathan Nesbit wrote:

>The debugger thinks your code is running in session space and so tells
>you to use “ba e” instead of “bu” or “bp”. Did you try to use “ba e”?
>
>kd> bu phmdisp!ProxyWriteKernError
>WARNING: Software breakpoints on session addresses can cause bugchecks.

>Use hardware execution breakpoints (ba e) if possible.
>
>-----Original Message-----
>From: Sean Bullington [mailto:xxxxx@stg.com]
>Sent: Friday, August 23, 2002 9:20 AM
>To: Kernel Debugging Interest List
>Subject: [windbg] breakpointing error woes/bug
>
>
>I am having the following problem/bug (and no, i seriously don’t think
>it’s a symbols problem :)…
>
>- I set windbg to break on boot.
>- I set an un-resolved breakpoint (bu) on a display driver function
>- system boots, loads the display driver (but my function is never
>called, so no breakpoint is hit. this is expected)
>- the system unloads the display driver, then reloads it
>
>At this point the following I start getting errors about trying to set
>a
>
>breakpoint twice. I am loading the driver over the serial connection
>(via kdfiles) as the machine boots, so this may have something to do
>with the error. If I clear all the breakpoints, and don’t set any more,

>then the system resumes normally (which doesn’t help me cause I need to

>step through a bad function :)…
>
>My system config is:
>Target Machine: WinXP
>Host Machine: WinXP running WinDBG 6.0.0017.0
>Connection type: Serial
>
>Here’s a (long) paste of what’s going on:
>
>-------- SNIP ---------
>
>KD: Accessing
>‘D:\funk\proxy4\Host\kernel\build\chk_w2k\i386\phmdisp.dll’
>(\SystemRoot\System32\phmdisp.dll)
> File size 128K…
>MmLoadSystemImage: Pulled \SystemRoot\System32\phmdisp.dll from kd
>MiSessionWideReserveImageAddress: NO Code Sharing on
>\SystemRoot\System32\phmdisp.dll, Address 0xbf9ba000
>PHMIRROR: DrvEnableDriver iEngineVersion=30100 cj=12 pded=f98c29c4
>PHMIRROR: DrvEnableDriver exiting.
>PHMIRROR: DrvGetModes hDriver=82050c10
>PHMIRROR: DrvGetModes returns 0000
>PHMIRROR: DrvDisableDriver called.
>KD: Accessing
>‘D:\funk\proxy4\Host\kernel\build\chk_w2k\i386\phmdisp.dll’
>(\SystemRoot\System32\phmdisp.dll)
> File size 128K…
>MmLoadSystemImage: Pulled \SystemRoot\System32\phmdisp.dll from kd
>MiSessionWideReserveImageAddress: NO Code Sharing on
>\SystemRoot\System32\phmdisp.dll, Address 0xbf9ba000
>KD: Attempt to set breakpoint bf9d1af4 twice!
>Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
> “{Operation Failed} The requested operation was unsuccessful.” bp0
>at bf9d1af4 failed WaitForEvent failed
>nt!DebugService2+f:
>80ab2373 5d pop ebp
>*** ERROR: Module load completed but symbols could not be loaded for
>ntdll.dll
>kd> bl
> 0 e bf9d1af4 0001 (0001) phmdisp!ProxyWriteKernError
>
>kd> bc 0
>kd> bu phmdisp!ProxyWriteKernError
>WARNING: Software breakpoints on session addresses can cause bugchecks.

>Use hardware execution breakpoints (ba e) if possible.
>kd> g
>KD: Attempt to set breakpoint bf9d1af4 twice!
>Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
> “{Operation Failed} The requested operation was unsuccessful.” bp0

>at bf9d1af4 failed WaitForEvent failed
>nt!DebugService2+f:
>80ab2373 5d pop ebp
>kd> bl
> 0 e bf9d1af4 0001 (0001) phmdisp!ProxyWriteKernError
>
>kd> bc 0
>kd> bp phmdisp!ProxyWriteKernError
>WARNING: Software breakpoints on session addresses can cause bugchecks.

>Use hardware execution breakpoints (ba e) if possible.
>kd> g
>KD: Attempt to set breakpoint bf9d1af4 twice!
>Unable to insert breakpoint 0 at bf9d1af4, NTSTATUS 0xC0000001
> “{Operation Failed} The requested operation was unsuccessful.” bp0

>at bf9d1af4 failed WaitForEvent failed
>nt!DebugService2+f:
>80ab2373 5d pop ebp
>kd> bc *
>kd> bl
>
>kd> g
>PHMIRROR: DrvEnableDriver iEngineVersion=30100 cj=12 pded=f98c2a58
>PHMIRROR: DrvEnableDriver exiting.
>PHMIRROR: DrvEnablePDEV hdev=e1881008 hDriver=82050c10
>-------- SNIP --------
>(and boot proceeds from here)
>
>Seems like the logic for how ‘bu’ handles the persistant breakpoint
>across loads/unloads of drivers is going awry in this case…
>
>Thanks,
>sean
>
>
>
>—
>You are currently subscribed to windbg as: xxxxx@microsoft.com To
>unsubscribe send a blank email to %%email.unsub%%
>
>