Pregunta

Estoy dolorosamente la depuración de un legado VS 6.0 MFC aplicación, y realmente me gustaría entrar en el código de MFC. Ahora, el código hizo nave con VS6, y los símbolos (mfc42.pdb) también, pero el depurador afirma

  

'Símbolos cargados (información de la fuente despojado)'

a unir. Por estos consejos , todas las copias de MFC42 .pdb en mi máquina son de hecho despojado (su tamaño es 1,5-2M, ni de lejos 10M). Consigo pilas significativas, pero no soy capaz de entrar en el código de MFC.

Actualmente estoy tratando de volver a compilar MFC para obtener símbolos CodeView (sí, la situación es que desparate). He intentado siguiente este agradable recorrido por Daniel Howard, pero sigo chocando con los siguientes errores de enlace:

  

...   delayimp.lib      La creación de la biblioteca .. \ lib \ mfc42.LIB y objeto .. \ lib \ mfc42.exp   LNK2001 de error:: mfc42.exp símbolo externo sin resolver "público: int __thiscall CTime :: operator == (clase CTime) const" (?? 8CTime @@ @@ QBEHV0 Z)   mfc42.exp: error LNK2001: símbolo externo sin resolver "público: int __thiscall CTime operador :: = (clase CTime) const" (?? 9CTime @@ @@ QBEHV0 Z)   mfc42.exp: error LNK2001: símbolo externo sin resolver "público: int __thiscall CTime :: operador <(clase CTime) const" (?? MCTime @@ @@ QBEHV0 Z)   mfc42.exp: error LNK2001: símbolo externo sin resolver "público: int __thiscall CTime :: operador> (clase CTime) const" (?? OCTime @@ @@ QBEHV0 Z)   Mfc42.dll: LNK1120 error fatal: 4 externos sin resolver

CTime se implementó en TIMECORE.cpp, que de hecho no implementa este tipo de operadores. No podía localizar a los usuarios del operador.

Alguien tiene alguna idea de esto? Cualquier consejo indirecto sería grande también.

¿Fue útil?

Solución

Se define en AFX.INL en VC98 \ MFC \ Include \ AFX.INL. Es probable que haya agregado sólo el .cpp a su proyecto.

Al entrar en el código MFC es una necesidad. código MFC es una visita obligada. Te hace humilde y enojado al mismo tiempo.

Otros consejos

Mi memoria es por lo general bastante mal y esto fue hace mucho tiempo, pero creo recordar que una versión de las bibliotecas compilado y enlazado para la depuración fue una de las opciones adicionales del instalador VC6 ++.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top