我痛苦地调试遗留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 ++安装的附加选项之一。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top