2014-04-22 19 views
5

Ho un nuovo progetto SDI in VS2010 ma non posso accedere alla sorgente MFC. Ho seguito i passaggi here e sembra che i simboli delle risorse non vengano caricati per qualche motivo ma non si caricheranno con il tasto destro del mouse come descritto nella risposta più votata.Il debugger non entra nel codice sorgente MFC

Quando eseguo il debug >> Windows> Moduli, quella finestra mostra la colonna dello stato dei simboli come Cannot find or open the PDB file. Immagino che questo sia il problema ma quando faccio clic con il tasto destro su un modulo qualsiasi (ad esempio mfc100enu.dll) ottengo un'altra finestra di dialogo con un messaggio simile a quello che non trova il file di simboli.

Cosa potrebbe essere andato storto che non riesca a trovare i file di simboli e come risolvere il problema?

Module Window

La funzione che voglio entrare in è LoadFrame in seguito nella mia domanda di base 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; 
    } 

... 
} 

Eventuali suggerimenti come non è possibile caricarli e cosa potrebbe essere sbagliato? Grazie

Aggiornamento

sono stato in grado di ottenere VS2010 per caricare i file di simboli andando in Strumenti> Opzioni> Debugging-> Simboli e selezionare casella di controllo "Server Microsoft Symbol" e ora di Visual Studio carichi PDB automaticamente. Tuttavia non riesco ancora ad entrare nella funzione.

+0

Il codice mfc è proprietario AFAIK, non penso che sia possibile. –

+0

Dove vuoi entrare? Ho appena controllato con VS2005 e mi permette di entrare in objcore.cpp che si trova qui per me: C: \ Programmi (x86) \ Microsoft Visual Studio 8 \ VC \ atlmfc \ src \ mfc – marcinj

+0

@marcin_j Ho una domanda aggiornata con la funzione. – zar

risposta

2

È necessario un Visual Studio Professional o superiore. Quindi ottieni i sorgenti e i simboli di debug per MFC. Se questo è indicato, è solo necessario assicurarsi che i PDB si trovino nel percorso del simbolo, il che dovrebbe essere il caso di una corretta installazione di Visual Studio.

+0

Sto usando VS2010 professionale. Anche in strumenti >> Opzioni >> Debugging >> Simboli e ho cliccato su 'Carica tutti i simboli' per caricare tutti i simboli nel caso in cui ma non serve. – zar

+1

@zadane: hai installato i file sorgente MFC durante l'installazione? (Non sono sicuro che l'installer chieda). –

+0

@MichaelWalz Questo è stato molto tempo fa, ma sono sicuro che il codice sorgente MFC è stato installato perché questo probabilmente si è presentato bruscamente in fondo alla strada e probabilmente si è risolto in seguito anche in qualche modo. – zar

5

Ho trovato che l'aggiunta dei server di simboli non ha risolto il problema per me.

Ciò che ha risolto il problema è stato aggiungere questa directory all'elenco delle posizioni in cui cercare i simboli. Non sono sicuro del motivo per cui Visual Studio non lo aggiunge da solo.

C: \ Windows \ Symbols \ dll

+1

Con la mia installazione di VS 2015, l'aggiunta di C: \ Windows \ Symbols \ dll non ha aiutato, tuttavia aggiungendo alcune directory da C: \ Programmi (x86) \ Microsoft Visual Studio 14.0 \ VC \ atlmfc \ lib ha aiutato. – hlongmore

3

modificare la modalità di collegamento libreria MFC di libreria statica. Nelle proprietà del progetto >> Proprietà di configurazione >> Generale >> Uso di MFC

Dopo il debug, è possibile tornare a ciò che si desidera. Spero che questo aiuto.

Problemi correlati