views:

1551

answers:

2

Visual Studio 2008 doesn't appear to be loading symbols for MFC dlls when I debug my application. This used to work fine in 2005 - ie. when it loaded the dll it said "Symbols loaded" and can then debug it. In 2008 (having upgraded to MFC 9, so they are different libraries) it doesn't say that it's loaded symbols for the MFC dlls, and later shows it hasn't by not being able to debug into them ("no symbols loaded" in call stack etc).

Is there some sort of setting that has affected this? I assume that it should still be possible with MFC 9.0...

Edit: Okay, so further research indicates that I have some kind of symbols in c:/windows/symbols/dll, but VS says they don't match (and they look about six months older than they should be).

A: 

The .pdb files have to exactly match the .dll build - have you checked it's not using a cached copy of the symbols.

Martin Beckett
+1  A: 

Use the Microsoft Symbol Server. Scott Hanselman shows how to do this globally. This works for all of the Windows debuggers (i.e. WinDBG, NTSD, etc.).

Alternatively, you can use the Tools / Options / Debugging / Symbols entry in Visual Studio.

This will cause Visual Studio to download any symbols as it needs them. Bear in mind that this will slow down your first few debugging sessions as it downloads a metric shed-load of symbol files the first time.

Oh, and make sure you've got plenty of space; I've got a couple of hundred MB of symbol files on one of my PCs.

Roger Lipscombe