PRB: Can't Find Symbols in Modules When Exe's Have Same Basename

Last reviewed: June 20, 1997
Article ID: Q170116
The information in this article applies to:
  • Microsoft Win32 Device Development Kit (DDK) for Windows NT, versions 3.5, 3.51, 4.00 on the following platforms: - Alpha - MIPS - Windows NT - PowerPC - x86

SYMPTOMS

WinDbg or KD can't locate symbols in modules when multiple executable files have matching basenames differing on extension only.

Debugger can't locate symbols between loaded driver modules with same base name. For example, "S3" derived from S3.Sys and S3.Dll.

CAUSE

The dot operator is already used by Windbg and MSDev and cannot be overloaded unambiguously. This cannot be fixed. So, specifying the extension doesn't work. For example, "x s3.dll!*".

RESOLUTION

When you build software components, do not use the same file name with different extensions. Change the basename so that it is different. For exmaple, with a video drivers you could name them "S3mini.sys and S3Disp.dll" instead of S3.SYS and S3.DLL.

MORE INFORMATION

Developers keep inquiring why the debuggers cannot distinguish between Foo.sys and Foo.dll. This arises most often with video driver developers.

For example, in WinDBG the only way to do it currently is to unload the one you don't want and make sure the one you do want is the only one loaded:

   kd> !reload /u S3
   kd> !reload /u S3
   kd> !reload S3.dll
   kd> lm

Best solution is not to use the same basename in a single namespace.


Keywords : kbdisplay kbprg kbtool NTDDKDebug NTDDKDisplay ntddkvideo
Version : 3.5 3.51 4.0
Platform : NT WINDOWS
Issue type : kbprb


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: June 20, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.