VisualDDK can’t load PDB files

Sysprogs forums Forums VisualDDK/VirtualKD discussion VisualDDK can’t load PDB files

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #189
    marcin512
    Participant

    Hi
    I’m facing an error. Basically when I’m attaching to kernel VisualDDK always pops up with a message:
    Can’t load “C:Symbol_pathpdb_name.pdb”: Class not registered. It displays that message box for every
    loaded PDB file (there are a lot of them…). Does anybody know why that happens? I’m using Win7 32bit as
    a host and WinXP SP3 under VMWare as a guest OS, VS 2010 Ultimate.

    EDIT: I think the problem is that I’m trying to load PDB files prepared for different OS. Does VisualDDK
    supports that (debugging heterogenous OSes)? ProcMon shows that HKCRCLSID misses a lot of required
    classes…

    Thanks for your help.

    Cheers,
    Marcin

    #1428
    marcin512
    Participant

    OK, I managed to get rid of this problem.
    I had to locate code in DLL that invoked MessageBoxW and patch it with stack adjustmnent instructions and few nops.
    The msgbos is gone and pds’a are loaded.
    IMO it’s a bug in pdb loader (are there two different methods of pdb loading?).

    #1429
    NeWbY
    Participant

    Could you post your patched version maybe? Or send an url to it in PM to me?
    I’ve got the same problem, and it’s kind of annoying having to click OK the whole time when it tries to load the PDBs >_>

    #1430
    jospalau
    Participant

    I am facing the same problem and I solved in a different way even though marcing512 solution is pretty nite.
    It turns out that when a .pdb is loaded, devenv or Visual DDK library looks for a class of msdia80 or msdia90 and if you haven’t installed Visual Studio 2005 or Visual 2008 doesn’t find it because the library is not registered, so it works simply by copying and registering de library:

    -= PepeElevado@JPALAU-DESKTOP2 –> C:Windowssystem32 =- $ copy “\jpalau-laptopc$Program FilesMicrosoft Visual Studio 9.0Common7PackagesDebuggermsdia90.dll”
    1 file(s) copied.

    -= PepeElevado@JPALAU-DESKTOP2 –> C:Windowssystem32 =- $ regsvr32 msdia90.dll

    Process Monitor helped me to find the registry CLSIDs of the classes.

    I haven’t used this library and I don’t know why it is searched, I think Visual Studio 2010 comes with msdia100.dll

    #1431
    NeWbY
    Participant

    That seems to work, jospalau!

    Thanks for posting your solution 🙂

    #1432
    toadster
    Participant

    I was getting the following error when I copied the msdia90.dll into the system32 directory:
    “The module ‘msdia90.dll’ failed to load. Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files. The specified module could not be found.”

    I then tried registering the dll while it was on the desktop and it worked.

    #1433
    Lissa345
    Participant

    Yeah,this works good. Finally I could resolve my problem:)This is a good solution to the problem you suggested above:)

Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.