News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

mspdb100.dll screw-up

Started by Ficko, July 07, 2010, 07:49:48 AM

Previous topic - Next topic

Ficko

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


jj2007

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.

sinsi

Check where you have copies of that dll and remember the search order for dll's.
Light travels faster than sound, that's why some people seem bright until you hear them.

Ficko

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.

GregL

MSPDB100.DLL is located in C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE.  Link 10.0 has a dependency on it.

KeepingRealBusy

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.

Ficko

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.

GregL

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.



plutocat

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!


clive

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)
It could be a random act of randomness. Those happen a lot as well.

plutocat

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 ?

clive

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.
It could be a random act of randomness. Those happen a lot as well.

plutocat

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?

jj2007

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