调试器不会进入MFC源代码

zar*_*zar 5 c++ mfc visual-studio-2010 visual-c++

我在VS2010中有一个新的SDI项目,但我无法进入MFC源.我按照这里的步骤,似乎资源符号由于某些原因没有加载,但它不会加载右键点击,如在那里最投票的答案中所述.

当我进入调试>> Windows>模块时,该窗口将符号状态列显示为Cannot find or open the PDB file.我猜这是问题,但是当我右键单击任何一个模块(例如mfc100enu.dll)时,我得到另一个带有类似消息的对话框,但找不到符号文件.

什么可能出错,它找不到符号文件以及如何解决这个问题?

模块窗口

我想要介入的功能LoadFrame在我的基本SDI应用程序的下面.

BOOL CMainFrame::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd* pParentWnd, CCreateContext* pContext) 
{
    // base class does the real work

    if (!CFrameWndEx::LoadFrame(nIDResource, dwDefaultStyle, pParentWnd, pContext))
    {
        return FALSE;
    }

...
}
Run Code Online (Sandbox Code Playgroud)

任何提示我怎么不加载它们可能是错的?谢谢

更新

我可以通过转到Tools-> Options-> Debugging-> Symbols并选择复选框"Microsoft Symbol Servers"来启动VS2010以加载符号文件,现在Visual Studio会自动加载PDB.但是我仍然无法进入这个功能.

Ste*_*ett 5

我发现添加符号服务器并没有解决我的问题.

解决问题的方法是将此目录添加到位置列表以查找符号.不确定Visual Studio为什么不添加它本身.

C:\ WINDOWS \符号\ DLL


小智 5

将您的 mfc 库链接模式更改为静态库。在项目属性>>配置属性>>常规>>使用MFC

调试好后,可以改回自己喜欢的样子。希望这有帮助。


rio*_*oki 3

您需要 Visual Studio Professional 或更高版本。然后您将获得 MFC 的源代码和调试符号。如果给出了这一点,您只需确保 PDB 位于符号路径中,正确的 Visual Studio 安装应该是这种情况。