Ambiguous matches?

Uh, can anyone tell me what this means? I get this when debugging a crash
in my driver on a machine that has a my driver loaded. How could the
debugger be getting two different symbols for my device extension? Any
ideas? Could this potentially happen by changing a header file, and then
not recompiling some files, but linking?

kd> dt impwinxp!_MY_DEVICE_EXTENSION
Ambiguous matches found for impwinxp!_MY_DEVICE_EXTENSION (dumping largest
sized):
impwinxp!_MY_DEVICE_EXTENSION {0x24c bytes}
impwinxp!_MY_DEVICE_EXTENSION {0x21c bytes}
+0x000 Vcb : _MY_VOLUME_CONTROL_BLOCK

Thanks,
Matt

That means you have two different definitions of the type. Are there
any ifdef’s in the definition? Are there places where you compile with
different sets of ifdef’s?

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Matthew N. White
Sent: Thursday, February 09, 2006 3:18 PM
To: Kernel Debugging Interest List
Subject: [windbg] Ambiguous matches?

Uh, can anyone tell me what this means? I get this when debugging a
crash in my driver on a machine that has a my driver loaded. How could
the debugger be getting two different symbols for my device extension?
Any ideas? Could this potentially happen by changing a header file, and
then not recompiling some files, but linking?

kd> dt impwinxp!_MY_DEVICE_EXTENSION
Ambiguous matches found for impwinxp!_MY_DEVICE_EXTENSION (dumping
largest
sized):
impwinxp!_MY_DEVICE_EXTENSION {0x24c bytes}
impwinxp!_MY_DEVICE_EXTENSION {0x21c bytes}
+0x000 Vcb : _MY_VOLUME_CONTROL_BLOCK

Thanks,
Matt


You are currently subscribed to windbg as: xxxxx@winse.microsoft.com To
unsubscribe send a blank email to xxxxx@lists.osr.com

I think what happened is it got linked with some c files compiled with one
header version, and some c files compiled with another. Make sense to you?

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Drew Bliss
Sent: Thursday, February 09, 2006 6:54 PM
To: Kernel Debugging Interest List
Subject: RE: [windbg] Ambiguous matches?

That means you have two different definitions of the type. Are there any
ifdef’s in the definition? Are there places where you compile with
different sets of ifdef’s?

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Matthew N. White
Sent: Thursday, February 09, 2006 3:18 PM
To: Kernel Debugging Interest List
Subject: [windbg] Ambiguous matches?

Uh, can anyone tell me what this means? I get this when debugging a crash
in my driver on a machine that has a my driver loaded. How could the
debugger be getting two different symbols for my device extension?
Any ideas? Could this potentially happen by changing a header file, and
then not recompiling some files, but linking?

kd> dt impwinxp!_MY_DEVICE_EXTENSION
Ambiguous matches found for impwinxp!_MY_DEVICE_EXTENSION (dumping largest
sized):
impwinxp!_MY_DEVICE_EXTENSION {0x24c bytes}
impwinxp!_MY_DEVICE_EXTENSION {0x21c bytes}
+0x000 Vcb : _MY_VOLUME_CONTROL_BLOCK

Thanks,
Matt


You are currently subscribed to windbg as: xxxxx@winse.microsoft.com To
unsubscribe send a blank email to xxxxx@lists.osr.com


You are currently subscribed to windbg as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

Matthew N. White wrote:

I think what happened is it got linked with some c files compiled with one
header version, and some c files compiled with another. Make sense to you?

That would definitely cause the problem you are seeing, but it also
indicates a general failure in your build process. One of the best
features of the “build” utility is that it scans your source code to
extract the complete list of include file dependencies, to ensure that
something like this can’t happen. Are you not using build.exe?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.