【发布时间】:2014-06-07 00:43:15
【问题描述】:
我在 VS2010 中有一个新的 SDI 项目,但我无法进入 MFC 源代码。我遵循了here 的步骤,似乎由于某些原因没有加载资源符号,但它也不会在右键单击时加载,如那里投票最多的答案中所述。
当我进入调试 >> Windows > 模块时,该窗口将符号状态列显示为 Cannot find or open the PDB file。我想这就是问题所在,但是当我右键单击任何一个模块(例如 mfc100enu.dll)时,我会得到另一个对话框,其中包含与找不到符号文件类似的消息。
找不到符号文件可能出了什么问题以及如何解决这个问题?
在我的基本 SDI 应用程序中,我想要进入的函数是 LoadFrame。
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;
}
...
}
任何提示我如何不加载它们以及可能出了什么问题?谢谢
更新
我能够让 VS2010 加载符号文件,方法是转到 Tools->Options->Debugging->Symbols 并选择复选框“Microsoft Symbol Servers”,现在 Visual Studio 会自动加载 PDB。但是我仍然无法进入该功能。
【问题讨论】:
-
mfc 代码是专有的 AFAIK,我认为你不能。
-
你想进入哪里?我刚刚检查了 VS2005,它允许我进入位于我这里的 objcore.cpp:C:\Program Files (x86)\Microsoft Visual Studio 8\VC\atlmfc\src\mfc
-
@marcin_j 我用函数更新了问题。
-
此外,您似乎正在尝试调试使用非调试 MFC dll 的 MFC 应用程序,它应该以 d 结尾 - 在我的情况下是 mfc80ud.dll。也许这就是问题所在。
-
@LuchianGrigore:如果 MFC 是专有的,但 MFC 源代码是随 Visual Studio 分发的,通常(幸运的是)您可以进入 MFC 代码。
标签: c++ visual-studio-2010 visual-c++ mfc