2016-02-03 108 views
17

Mam projekt VB6 i włączono go do generowania plików pdb (this pokazuje, jak to zrobić). Jednak nie mogę debugować z nich i kiedy sprawdzić je z symcheck uzyskać ten wynik:Dlaczego moje PDB dla mojego projektu VB6 nie pasują do wygenerowanej biblioteki dll?

symchk: MyFile.dll FAILED - MyFile.pdb niedopasowane lub nie znaleziono

symchk: Pliki failed = 1

symchk: przepuszczane + IGNORED plików = 0

Sprawdziłem z wyjściem opisowym, że jej ocena WPB (nawet przemieszczając go w katalogu, że jego kontroli), ale po prostu nie wydaje się chcesz dopasować.

Co może spowodować to i co mogę z tym zrobić?

+0

wypróbuj starszą wersję windbg/symchk. Myślę, że MSFT zaktualizował format PDB na przestrzeni lat i być może nowe wersje nie mogą zrozumieć tego starszego formatu z VB6. – magicandre1981

+0

czy wypróbowałeś moją poradę i użyłeś starszej wersji debuggera? – magicandre1981

+0

Prawdopodobnie problem z tożsamością użytkownika? –

Odpowiedz

0

Doświadczyłem tego samego problemu z Visual Studio (było to na projekcie C#). Ponieważ nie dostarczono wielu informacji o konfiguracji środowiska, trudno jest dokładnie określić przyczyny problemu.

Ponieważ nie mam doświadczenia z Visual Basic IDE, zaproponuję przyczyny problemu z Visual Studio. W zależności od twoich projektów i konfiguracji może to mieć zastosowanie w twoim VB IDE. Po prostu spróbuj je zastosować.

Więc tutaj jest nie wyczerpująca lista potencjalnych problemów, które mogą być przyczyną takiego zachowania z visual studio:

  1. DLL używanych przez program są buforowane te
    • Taka sytuacja może wystąpić, jeśli plik wykonywalny używa buforowanej wersji biblioteki DLL (jest to również nazywane kopiowaniem w tle). Często te pliki znajdują się w folderze tymczasowym. Aby to naprawić, należy po prostu usunąć te pliki tymczasowe.
  2. Twój debugger próbuje załadować modułów i symboli na niewłaściwym miejscu
    • Na przykład Visual Studio można ustawić, aby załadować moduły w określonym miejscu.
      Aby rozwiązać to trzeba ustalić miejsce, w którym moduły są ładowane (Ctrl + D + M zazwyczaj).
  3. Operacja czyszczenia/przebudowania odbudowuje tylko projekt wyjściowy.
    • Visual Studio może przebudować tylko twój projekt wyjściowy, podczas gdy chcesz przebudować całe swoje rozwiązanie.
      Aby to naprawić, należy sprawdzić, czy poprawnie przebudowuje całe rozwiązanie.
      Należy pamiętać, że operacja czysta może nie usuwać odwołań, do których odwołuje się projekt, ale nie ma do nich odniesienia. Pliki te pozostaną w folderach wyjściowych, dopóki ich nie usuniesz.
  4. Program Visual Studio wprowadził stan niestabilny i prawdopodobnie należy go zrestartować.
    • Nie liczę już wiele razy, gdy prosty restart mojej instancji Visual Studio naprawił większość dziwnego zachowania podczas kompilacji.
      Aby to naprawić, wystarczy ponownie uruchomić program Visual Studio.

Zazwyczaj rodzaj kuloodporną sposób, aby przejść gdy napotkasz tego celu jest:

  • czysty roztwór
  • usunięcie każdego bin i obj foldery w każdym z projektów
  • usunąć dowolny folder tymczasowy używany do kopiowania w tle
  • wykonać przebudowę