The MASM Forum Archive 2004 to 2012

General Forums => The Laboratory => Topic started by: Ficko on July 07, 2010, 07:49:48 AM

Title: mspdb100.dll screw-up
Post by: Ficko on July 07, 2010, 07:49:48 AM
In the recent VS-2010 distribution comes

Quote
FileVersion:        10.00.30319.01 built by: RTMRel
InternalName:       MSPDB100.DLL

The Linker
Quote
FileVersion:        10.00.30319.01 built by: RTMRel
InternalName:       LINK.EXE

reports allerdings for debug build
Quote
LINK : fatal error LNK1101: incorrect MSPDB100.DLL version; recheck installation of this product

however it works with

Quote
FileVersion:        10.00.30128.01 built by: RC1Rel
InternalName:       MSPDB100.DLL

Title: Re: mspdb100.dll screw-up
Post by: jj2007 on July 07, 2010, 07:51:25 AM
Quote from: Ficko on July 07, 2010, 07:49:48 AM
reports allerdings for debug build
Quote
LINK : fatal error LNK1101: incorrect MSPDB100.DLL version; recheck installation of this product

That is really merkwürdig indeed.
Title: Re: mspdb100.dll screw-up
Post by: sinsi on July 07, 2010, 08:00:17 AM
Check where you have copies of that dll and remember the search order for dll's.
Title: Re: mspdb100.dll screw-up
Post by: Ficko on July 07, 2010, 08:21:33 AM
Ops I screwed up had an RC from "mspdbcore.dll" the linker just reported the false dll. :red

What I can't figure out allerding is where "msvcr100_clr0400.dll" comes from ? ::)

It is in the system directory "cvtres.exe" has a dependency on it but can't find it on the VS 2010 ISO.
Title: Re: mspdb100.dll screw-up
Post by: GregL on July 12, 2010, 04:22:09 AM
MSPDB100.DLL is located in C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE.  Link 10.0 has a dependency on it.
Title: Re: mspdb100.dll screw-up
Post by: KeepingRealBusy on July 12, 2010, 03:09:23 PM
Microsoft is pretty good at that, moving default directories but not cleaning up code that is dependent on the directory location. For Visual Studio 2008 I reported an error for vsvars32.bat (part of the release) as Microsoft Feedback ID 467385. It is interesting, they closed this as "Not reproducible" and it really is a bug.

Dave.
Title: Re: mspdb100.dll screw-up
Post by: Ficko on July 13, 2010, 06:57:26 AM
Quote from: Greg Lyon on July 12, 2010, 04:22:09 AM
MSPDB100.DLL is located in C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE. Link 10.0 has a dependency on it.

I know that Greg. :P

The question was the "msvcr100_clr0400.dll" - not a misspell that's the name of it  :bg - if you link resourse files "link.exe" calls "cvtres.exe" and it will not run if not present on the computer.
Title: Re: mspdb100.dll screw-up
Post by: GregL on July 13, 2010, 04:53:22 PM
Ficko,

Your question wasn't very clear. Everything I can find about it says it's part of Visual Studio 2010. Maybe it is generated during install.


Title: Re: mspdb100.dll screw-up
Post by: plutocat on October 25, 2011, 07:02:03 PM
Hello!
I have the exact situation described by Ficko in the first post of this topic. (except for the fact that I am not using VS-2010 distribution).
(LINK : fatal error LNK1101: incorrect MSPDB100.DLL version; recheck installation of this product)

I do not quite understand how this problem was resolved, so I apologize for reopening the old thread.
In my case, I have only one copy of mspdb100.dll on the machine (in C:\masm32\bin), so it looks like it is not the case of multiple dlls...
OS: winxp sp3.
Any help would be greatly appreciated!

Title: Re: mspdb100.dll screw-up
Post by: clive on October 25, 2011, 07:57:24 PM
Well the inference is that MSVCR100.DLL was missing, but given LINK has a huge dependency tree, and delayed imports. A problem generally resolved by installing the product correctly. Or PATHing properly so the DLLs can be found.

I'll have to revisit this, because I don't think this takes into account the delayed imports.

BindTree (Wed Oct 30 10:58:21 2002)

LINK.EXE
ADVAPI32.DLL
  NTDLL.DLL
  KERNEL32.DLL
   NTDLL.DLL
  RPCRT4.DLL
   NTDLL.DLL
   KERNEL32.DLL
   ADVAPI32.DLL
KERNEL32.DLL
MSVCR100.DLL
  KERNEL32.DLL
MSPDB100.DLL
  ADVAPI32.DLL
  KERNEL32.DLL
  MSVCR100.DLL
  RPCRT4.DLL
  VERSION.DLL
   KERNEL32.DLL
   MSVCRT.DLL
    KERNEL32.DLL
    NTDLL.DLL
   NTDLL.DLL
PSAPI.DLL
  NTDLL.DLL
  KERNEL32.DLL
USER32.DLL
  NTDLL.DLL
  KERNEL32.DLL
  GDI32.DLL
   NTDLL.DLL
   KERNEL32.DLL
   USER32.DLL
   ADVAPI32.DLL
  ADVAPI32.DLL

Summary

03/19/2010 14:02:22     852296 LINK.EXE
                                10.00.30319.01 built by: RTMRel
                                10.00.30319.01
04/11/2009 01:28:19     297472 C:\WINDOWS\SYSTEM32\GDI32.DLL
                                6.0.6002.18005 (lh_sp2rtm.090410-1830)
                                6.0.6002.18005
01/07/2011 15:39:22     768848 C:\WINDOWS\SYSTEM32\MSVCR100.DLL
                                10.00.30319.415
04/11/2009 01:28:25      20480 C:\WINDOWS\SYSTEM32\VERSION.DLL
                                6.0.6002.18005 (lh_sp2rtm.090410-1830)
                                6.0.6002.18005
10/15/2010 08:48:59    1205080 C:\WINDOWS\SYSTEM32\NTDLL.DLL
                                6.0.6002.18327 (vistasp2_gdr.101014-0432)
                                6.0.6002.18327
04/11/2009 01:28:25     627712 C:\WINDOWS\SYSTEM32\USER32.DLL
                                6.0.6002.18005 (lh_sp2rtm.090410-1830)
                                6.0.6002.18005
03/18/2010 23:21:56     241488 C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO 10.0\COMMON7\IDE\MSPDB100.DLL
                                10.00.30319.01 built by: RTMRel
                                10.00.30319.01
04/11/2009 01:28:17     800768 C:\WINDOWS\SYSTEM32\ADVAPI32.DLL
                                6.0.6002.18005 (lh_sp2rtm.090410-1830)
                                6.0.6002.18005
11/02/2006 04:46:12      12288 C:\WINDOWS\SYSTEM32\PSAPI.DLL
                                6.0.6000.16386 (vista_rtm.061101-2205)
                                6.0.6000.16386
04/11/2009 01:28:22     679936 C:\WINDOWS\SYSTEM32\MSVCRT.DLL
                                7.0.6002.18005 (lh_sp2rtm.090410-1830)
                                7.0.6002.18005
04/12/2011 11:07:38     892416 C:\WINDOWS\SYSTEM32\KERNEL32.DLL
                                6.0.6002.18449 (vistasp2_gdr.110412-0338)
                                6.0.6002.18449
04/23/2009 07:15:07     784896 C:\WINDOWS\SYSTEM32\RPCRT4.DLL
                                6.0.6002.18024 (vistasp2_gdr.090423-0018)
                                6.0.6002.18024

  12 Unique reference(s)
Title: Re: mspdb100.dll screw-up
Post by: plutocat on October 25, 2011, 08:34:48 PM
Dear Clive!
Thanks for your help! Looks like reinstall fixed the problem.
Now, I'd like to ask a question only indirectly related to the topic.
Is there a way to step through my source assembly code in OllyDbg? I do not mean througth the dissassembled .exe file, but through my source?
Something like in good old TASM: td.exe ?
Title: Re: mspdb100.dll screw-up
Post by: clive on October 25, 2011, 09:01:25 PM
You should be able to step into your code with Olly.

If you have MSVC installed you can place "int 3" calls, the program will "crash" and you can choose the "Debug" option. You should also be able debug directly out of MSVC.

Generally you'll want to compile/assemble with the -Zi or -Zd options so it generates debug symbols or PDB files.

If I look at the LINK.EXE DLL load list, it runs to 115 Unique files on Vista 32-bit if I follow all of the Delayed Import dependencies. Attached is a complete list of what it touches.
Title: Re: mspdb100.dll screw-up
Post by: plutocat on October 25, 2011, 10:17:26 PM
Quote from: clive on October 25, 2011, 09:01:25 PM
You should be able to step into your code with Olly.
So, if I have an .asm source file available and my .exe contains full debug info, then do I need to do anything special in Olly (change configuration, select any specific options, etc) in order to step through my source? Or Olly seeing all debug info and the source file automatically shows me my source code similarly to MSVC debugger?
Title: Re: mspdb100.dll screw-up
Post by: jj2007 on October 25, 2011, 10:59:46 PM
Quote from: plutocat on October 25, 2011, 10:17:26 PM
do I need to do anything special in Olly

Options/Code/Show symbolic addresses