2016-02-03 27 views
17

Ho un progetto VB6 e l'ho abilitato a generare file pdb (this mostra come farlo). Tuttavia non posso eseguire il debug con loro e quando li verifico con symcheck ottengo questo output:Perché il mio PDB per il mio progetto VB6 non corrisponde alla dll generata?

Symchk: MyFile.dll FALLITO - MyFile.pdb non corrispondenti o non trovato

Symchk: file con errori = 1

Symchk: hanno superato i + file ignorati = 0

ho controllato con l'output dettagliato che la sua ricerca del progetto preliminare di bilancio (anche in movimento in una directory che il suo controllo), ma semplicemente non sembra voglio abbinare.

Cosa potrebbe causare questo e cosa posso fare al riguardo?

+0

provare una versione precedente di windbg/symchk. Penso che MSFT abbia aggiornato il formato PDB nel corso degli anni, e forse le nuove versioni non possono capire quel vecchio formato da VB6. – magicandre1981

+0

hai provato il mio consiglio e hai usato la versione precedente del debugger? – magicandre1981

+0

Forse un problema di identità dell'utente? –

risposta

0

Ho riscontrato lo stesso problema con Visual Studio (era in un progetto C#). Poiché non hai fornito molte informazioni sulla configurazione dell'ambiente, è difficile stabilire le cause esatte del problema.

Poiché non ho esperienza con IDE di Visual Basic, proporrò le cause del problema con Visual Studio. A seconda dei progetti e dell'impostazione, ciò potrebbe essere applicabile o meno al VB IDE. Prova solo ad applicarli.

ecco un elenco non esaustivo di potenziali problemi che possono causare questo comportamento con Visual Studio:

  1. le DLL utilizzati dal programma sono quelli
    • Questo può verificarsi se il file eseguibile nella cache sta usando la versione cache della DLL (questo è anche noto come copia-ombra). Spesso questi file si trovano in una cartella temporanea. Per risolvere il problema, è sufficiente cancellare questi file temporanei.
  2. il debugger sta cercando di caricare i moduli ei simboli al posto sbagliato
    • Per esempio Visual Studio può essere impostato per caricare i moduli in un luogo specifico.
      Per risolvere il problema si deve fissare il luogo in cui vengono caricati i moduli (Ctrl +D + M solito).
  3. L'operazione di pulizia/ricostruzione ricostruisce solo il progetto di output.
    • Visual Studio può ricostruire solo il progetto di output mentre si desidera ricostruire tutta la soluzione.
      Per risolvere il problema, è necessario verificare che stia ricostruendo correttamente l'intera soluzione.
      Si noti che l'operazione di pulizia potrebbe non eliminare i riferimenti a cui fa riferimento il progetto ma che non sono pertinenti. Questi file rimarranno nelle cartelle di output finché non li elimini.
  4. Visual Studio è entrato in uno stato instabile e probabilmente deve essere riavviato.
    • Non contiamo più le numerose volte in cui un semplice riavvio della mia istanza di Visual Studio ha risolto gran parte del comportamento in fase di compilazione.
      Per risolvere il problema è necessario riavviare semplicemente Visual Studio.

Di solito un tipo di strada a prova di proiettile per andare quando si verifica questo è quello di:

  • pulita la soluzione
  • eliminare ogni bin e obj cartelle in ognuno dei vostri progetti
  • eliminare qualsiasi cartella temporanea utilizzata per la copia shadow
  • eseguire una ricostruzione