题
我痛苦地调试遗留VS 6.0 MFC应用程序,我真的很想步入MFC代码。现在,将码确实附带VS6,和符号(mfc42.pdb)太多,但调试器断言
'加载符号(剥离源信息)'
在附接。通过这些提示,MFC42的所有副本我的机器上的.pdb确实被剥夺(其大小为1.5M-2M,远不及10M)。我得到有意义的堆栈,但我不能够介入MFC代码。
目前,我正在试图重新编译MFC来获取代码查看符号(是的,情况的是的绝望)。我尝试以下这漂亮的演练由丹尼尔·霍华德,但我一直碰到下面的链接错误:
... DELAYIMP.LIB 创建库.. \ LIB \ MFC42.LIB和对象.. \ LIB \ mfc42.exp mfc42.exp:错误LNK2001:解析外部符号 “公共:整数__thiscall的CTime ::运算符==(类的CTime)const的”(?? 8CTime @@ QBEHV0 @@ Z) mfc42.exp:错误LNK2001:无法解析的外部符号 “公用:INT __thiscall的CTime ::运算符=(类的CTime)常量”(?? 9CTime @@ QBEHV0 @@ Z) mfc42.exp:错误LNK2001:解析外部符号 “公共:整数__thiscall的CTime ::运算<(类的CTime)const的”(?? MCTime @@ QBEHV0 @@ Z) mfc42.exp:错误LNK2001:解析外部符号 “公共:整数__thiscall的CTime ::运算>(类的CTime)const的”(?? OCTime @@ QBEHV0 @@ Z) MFC42.DLL:致命错误LNK1120:4周解析的外部
的CTime在TIMECORE.cpp,这的确没有实现这样的操作员实施。我无法找到运营商的用户。
任何人有任何洞察此? 任何间接的意见将是巨大的。
解决方案
据在AFX.INL定义在VC98 \ MFC \包括\ AFX.INL。 你可能只添加了的.cpp到您的项目。
步进到MFC代码是一个必须有。 MFC代码是一个必须看到的。它让你谦卑和愤怒的同时。
其他提示
我的内存通常是非常糟糕的,这是很久以前的事,但我似乎记得,编译和链接调试库的版本是的VC6 ++安装的附加选项之一。