Skopiowałem istniejący projekt i zmieniłem nazwę folderu. Teraz pojawia się ten błąd, gdy próbuję skompilować aplikacjęJeśli kliknęliby Tak, kompiluje i działa poprawnie. Ale teraz mam do czynienia z tym przesłaniem. Po prostu ciekawi mnie, co zmieniam we właściwościach projektu, aby go zatrzymać.informacje dotyczące debugowania nie mogą zostać znalezione lub nie pasują do studia wizualnego
Odpowiedz
Głównym powodem jest to, że nie masz pasującego pdb i exe.
Możliwe rozwiązania:
- kompilujesz w wydaniu zamiast debugowania
- Trzeba oczyścić/zbudować lub odbudować
- Ty nie masz PDB pliki generowane w tym samym katalogu jako exe
- Masz niedopasowane pdb, może skopiowane źródło jest nowsze niż dzisiejsza data i coś nie buduje się prawidłowo.
- Spróbuj wyczyścić wszystkie pliki wynikowe debugowania
- podłączana do procesu, który rozpoczął się z innego miejsca, skąd twój build exe i PDB istnieć
- Restart Visual Studio
Wygląda na to, że brakuje pliku pdb
lub programu bazy danych (w zasadzie ścieżka uległa zmianie i nie można jej już znaleźć w kompilatorze). Aby uzyskać dodatkowe informacje, patrz this powiązany wpis.
Prawdopodobnie wyłączono informacje debugowania dla projektu:
- prawym przyciskiem myszy na projekcie -> Właściwości
- Konfiguracja Właściwości -> Linker -> Debugowanie
- Przełącznik "Generate Debug Info" z No na Yes
odbudować swój projekt i ponownie, powinien teraz działać bez komunikatu :)
miałem podobny problem Powodem było to, że uruchomiłem jeden z projektów mojego rozwiązania w innym procesie i ten proces nie mógł zostać zabity. Niewiele o tym myślałem. Kiedy więc budowałem rozwiązanie w osobnym środowisku, jeden z plików pdb nie pasował, więc na końcu nie mogłem załadować żadnego z plików pdb. Właśnie zrestartowałem komputer i to naprawiło.
Powodzenia
Dzieje się tak do mnie co jakiś czas, podczas debugowania kodu i dokonywania zmian wydaje się visual studio buforuje WPB informacje i czasami utyka. Wykonanie rozwiązania Przebuduj, usunięcie pdb i utworzenie nowego nie rozwiązuje problemu.
Oczywiście mam generowane informacje debugowania i wszystko, co jest potrzebne, szczególnie, że dzieje się to podczas debugowania kodu kilka razy.
Visual Studio wydaje się być zadowolony z pdb w pamięci i odmawia jego aktualizacji, niezależnie od znaczników czasowych, a nawet zmian rozmiaru w pdb.
Jedynym sposobem na zresetowanie tego jest wyjście z Visual Studio (IDE) i ponowne uruchomienie go ponownie.
W niektórych rzadkich przypadkach IDE może nadal działać w tle (eksplorator procesów pokazuje to tam) i może przechowywać uchwyt do pliku otwartego. Możesz zabić proces przed ponownym uruchomieniem IDE.
Powodzenia
Ponowne Visual Studio może rozwiązać jedno wystąpienie tego problemu.
Kliknij prawym przyciskiem myszy swój projekt w przeglądarce rozwiązań => Wyczyść => Zbuduj. To jest, jeśli build generuje .pdb w ogóle (poszukaj w swojej docelowej dir) Jeśli nie, należy włączyć debugowanie przez etapów wymienionych w innych postach
I w obliczu tego samego problemu i wypróbowaniu wszystkich wyżej wymienionych rozwiązań, ale to nie mogło mi pomóc. Potem znalazłem nowe rozwiązanie losowo i zadziałało.
Rozwiązaniem jest to, że w przypadku, gdy masz wiele projektów w rozwiązaniu, powinieneś oznaczyć każdy (konkretny, który musisz zdecydować) projekt jako "Ustaw jako projekt startowy". Kliknij ten projekt prawym przyciskiem myszy i kliknij "Ustaw jako projekt startowy".
To zadziałało dla mnie.
Właśnie napotkałem ten błąd w VS2012. Jest to z pewnością spowodowane przez błąd w Visual Studio, który ujawnia się w sytuacjach, gdy lokalny plik PDB głównego projektu ma taką samą nazwę jak końcowy plik PDB dla całego pliku wykonywalnego (nawet jeśli te dwa pliki znajdują się w różnych katalogach!)
Rozważ ten przykład.
Rozwiązanie składa się z trzech projektów: main
, a
i b
. main
to projekt najwyższego poziomu dla pliku wykonywalnego, podczas gdy a
i b
są bibliotekami połączonymi z main
.
We wszystkich trzech projektach zmienna $(IntDir)
jest ustawiona na $(SolutionDir)\$(Configuration)\$(ProjectName)\
. Oznacza to, że projekt main
zrzuca swoje pliki pośrednie do Debug\main\
, projektu a
- do Debug\a\
i tak dalej.
W ustawieniach C/C++ -> Output Files
wszystkie trzy projekty mają wartość Program Database File Name
ustawioną na $(IntDir)$(TargetName).pdb
. Oznacza to, że projekt main
generuje lokalny plik PDB jako Debug\main\main.pdb
, projekt b
jako Debug\b\b.pdb
i tak dalej.
Wreszcie w ustawieniach Linker -> Debugging
ustawień projektu main
ustawiono wartość Generate Program Database File
na $(OutDir)$(TargetName).pdb
. Oznacza to, że globalny plik PDB dla całego pliku wykonywalnego zostanie wygenerowany jako Debug\main.pdb
.
Należy zauważyć, że w tym ustawieniu każdy plik PDB jest generowany w oddzielnym katalogu.
W tej konfiguracji uzyskasz Nie można znaleźć informacji o debugowaniu lub nie pasuje ona do błędu, jeśli próbujesz uruchomić program pod debuggerem.A jeśli spojrzysz na plik Debug\main.pdb
(który będzie istnieć), zauważysz, że jest dokładnie taki sam jak plik Debug\main\main.pdb
! To znaczy. w jakiś sposób lokalny PDB dla main
zdołał nadpisać to, co miało być globalnym PDB dla końcowego pliku wykonywalnego. To znaczy. debugger ma prawo złożyć zażalenie, że plik PDB jest "nieprawidłowy". To rzeczywiście jest złe.
Ponownie, w powyższym ustawieniu ostateczny globalny PDB zostanie w jakiś sposób nadpisany przez lokalny PDB najwyższego projektu. Nie wiem, dlaczego tak się dzieje. Wygląda na to, że jest to błąd. (Zwróć uwagę, że nawet jeśli te pliki PDB mają taką samą nazwę, są generowane w różnych katalogach, tj. Nie powinny być w konflikcie).
Rozwiązaniem, które rozwiązuje ten problem, jest nadanie lokalnemu WPB projektu main
innej nazwie. Na przykład przejdź do C/C++ -> Output Files
dla projektu main
i zmień wartość Program Database File Name
na $(IntDir)$(TargetName)_local.pdb
(lub na $(IntDir)12345.pdb
, jeśli sobie tego życzysz). To wyeliminuje konflikt i rozwiąże problem.
Ciekawy, zdarza mi się, że muszę zmienić nazwę folderu z:
...\Custom Librarry (MyDll.dll(
do
...\Custom Librarry (MyDll.dll)
tylko przez zamknięcie nawiasu to działa!
Prawdopodobnie istnieją inne przyczyny, takie jak .pdb/.exe niedopasowania, coś nie wybudowano/przebudowano ale miałem podobny przypadek w Visual Studio 2013 -
coś wspólnego z funkcją wirtualną inline - tak ja posądzać.
W moim przypadku debugger skakał w środku innej funkcji C++, a nie tej, która została wywołana. Skok został wyłączony z kodu źródłowego 11 liniami kodu źródłowego, ale nie potrafię wyjaśnić, dlaczego doszło do wielu błędów. Prostymi zmianami funkcji pozbyłem się tego problemu.
Może być potrzebna bardziej szczegółowa analiza, dlaczego 11 linii przesunięcie stało się pierwotnie.
Nie widziałem tego rodzaju zachowania w żadnym innym studiu graficznym.
Ten problem nie dawał mi spokoju przez długi czas. AnTser jest bardzo pomocny. Głównym pomysłem jest Nie ma żadnych dwóch plików pdb o tej samej nazwie, nawet jeśli nie znajdują się w tym samym katalogu.
To jest moja sytuacja: mam nazwy projektów holowniczych "FooBar" i "FooBarDll", pierwszy to exe, a drugi to biblioteka dll. Ustawię oba projekty: Nazwa docelowa na "FooBar", aby wygenerowały odpowiednio "FooBar.exe" i "FooBar.dll".
Potem ustawić
- "Ogólne -> Intermediate katalog" być "$ (OUTDIR) \ $ (ProjectName) \"
- „C/C++ -> Output Files -> plik bazy danych programu Nazwa "być" $ (IntDir) $ (nazwa docelowa) .pdb "
- " Linker -> Debugowanie -> Wygeneruj plik bazy danych programu "do" $ (OutDir) $ (TargetName).PDB”
Więc dostać te pliki:
- Debug \ FooBar.exe
- Debug \ FooBar.pdb // C++ PDB
Debug \ FooBar \ FooBar.pdb // linker PDB
Debug \ FooBar.dll
- Debug \ FooBar.pdb // C++ PDB ag ain!
- Debug \ FooBarDll \ FooBar.pdb // Linker PDB
Moje rozwiązanie jest zastąpienie każdego "targetName" z "Nazwa_projektu", a potem będę się:
- Debug \ FooBar.exe
- Debug \ FooBar.pdb // C++ PDB
Debug \ FooBar \ FooBar.pdb // Linker PDB
Debug \ FooBar.dll
- Debug \ FooBarDll.pdb // C++ PDB
- Debug \ FooBarDll \ FooBarDll.pdb // Linker PDB
Wtedy nie ma konfliktu!
Daj C/C++ WPB przyrostek może być lepiej, jak: "C/C++ -> Output Files -> Program nazwa bazy danych pliku" być "$ (IntDir) $ (Nazwa_projektu) _C.pdb"
Miałem ten sam problem, a ten link pomógł mi rozwiązać problem, zmieniając nazwę "symsrv.no" na "symsrv.yes" w folderze VS IDE.
umożliwi tworzenie PDB przez:
Kliknij prawym przyciskiem myszy na MyProject > Properties > Debugging
:
C/C++ > General > Debug Information Output = Program Database (/Zi)
Linker > Debugging > Generate Debug Info = Yes (/DEBUG)
Clean myproject, uruchom Visual Studio (dla pewności), odbudować myproject . Folder wyjściowy powinien zawierać pliki * .pdb.
Jeśli Debug zoptymalizowane/code uwolnienie rozważyć wyłączenie optymalizacji poprzez
C++ > Optimization > Optmization = Disabled (/Od)
Ponowne uruchamianie Visual Studio nie jest wymagane! – Elmue
- 1. SSDT dla studia wizualnego 2015
- 2. Dodatek do interpretera C# dla studia wizualnego
- 3. gdzie jest mieszanka do studia wizualnego 2012
- 4. alternatywa dla studia wizualnego 2010
- 5. Wtyczka Latex do wizualnego studia 2010
- 6. Gdzie Eclipse przechowuje informacje dotyczące "Uruchamiaj ulubione" lub "Ulubione debugowania"?
- 7. Strona internetowa Webnoir jako projekt Eclipse, zasoby nie mogą zostać znalezione
- 8. Dodawanie niestandardowych wymagań wstępnych do projektu konfiguracji studia wizualnego
- 9. Dodaj istniejące pliki XAML do wizualnego studia 2012
- 10. Jak wyprowadzać informacje dotyczące debugowania z wewnętrznych testów funkcjonalnych?
- 11. Jak dołączyć określone foldery do kompilacji za pomocą wizualnego studia
- 12. Moduł plug-in do kompilacji wizualnego studia graficznego
- 13. jak uruchomić usługę okienkową (F5) ze studia wizualnego
- 14. Ripple nie można znaleźć config.xml po uaktualnieniu projektu cordova do wizualnego studia 2015
- 15. iOS - _OBJC_CLASS _ $ _ CTTelephonyNetworkInfo nie znalezione?
- 16. Android - Polecenie nie znalezione
- 17. Microsoft.Windows.UI.Xaml.Common.Targets nie znalezione
- 18. Wywołaj publikację z msbuild dla studia wizualnego 2012
- 19. Najlepsze praktyki dotyczące debugowania
- 20. Aplikacja działa szybciej z analizą wydajności studia wizualnego
- 21. Powiąż ponownie typy plików dla wizualnego studia 2012
- 22. Jakie typy bibliotek standardowych OCaml nie mogą zostać ustawione?
- 23. TypeError: Dane obrazu nie mogą zostać przekształcone w zmienną wartość
- 24. Nawiązanie połączenia z Azure z tfs ze studia wizualnego
- 25. Uzyskaj szczegółowe informacje dotyczące uprawnień
- 26. Microsoft.Jet.OLEDB.4.0 - Dostawca nie może zostać znaleziony lub może nie zostać zainstalowany
- 27. Typ lub przestrzeń nazw Porównywanie nie zostało znalezione (czy brakuje dyrektywy użycia lub odniesienia do zespołu?)
- 28. Żadne trasy nie pasują do [POST] "/ sessions/user"
- 29. pliku klasy projektu biblioteki .dll nie do kompilacji lub debugowania
- 30. Dlaczego pliki DirectoryInfo.GetFiles() pasują do plików, które nie pasują do maski?
taki Easy Fix! – Watusimoto
@NicholasGuillaume Używam wersji i otrzymuję ten błąd. Nie chcę, aby generować informacje debugowania. Czy istnieje sposób, że mogę Visual Studio nie próbować uruchomić z informacjami debugowania? –
@ JonathanMee Nie tak daleko, jak wiem. –