Czasami kiedy uruchomić/debug mojej aplikacji w trybie debugowania, używając VS2012, pojawia się okno dialogowe:VS2012: Breakpoint w Ntdll.dll na uruchomienie debuggera bez więcej informacji
<blahblah.exe> jest wyzwalany punkt przerwania.
Nie zawiera żadnych innych informacji, więc trafiam w przerwę, aby zobaczyć, co się dzieje. Och, ale potem otrzymuję komunikat "wntdll.pdb nie załadowany" i nie ma innych informacji na temat problemu. Stos wywołań wskazuje na ntdll.dll i wygląda na to, że moja aplikacja nie rozpoczęła jeszcze jeszcze wykonywania w tym momencie.
Wybór kontynuacji w tym miejscu pozwoli aplikacji/debuggowaniu kontynuować.
Występuje bardzo często (około 7 uruchomień na 10). Mam Windows 8 (64-bit) i Visual Studio 2012 z aktualizacją 1.
Poprzednio miałem Windows 7 (64-bitowy) i VS2010 i nigdy nie miałem tego problemu. Ten konkretny projekt został uaktualniony z wersji, w której został utworzony (2010), więc może to część tego problemu.
Ktoś już napotkał na ten problem? Nie mam pojęcia, gdzie zacząć szukać przyczyny. Choć mam 64-bitowy system Windows, powinienem wspomnieć, że buduję aplikację 32-bitową.
Aktualizacja: Po włączeniu serwerów Microsoft symbolem, oto co stos wywołań wygląda następująco:
> [email protected]() Unknown
[email protected]8() Unknown
[email protected]() Unknown
[email protected]() Unknown
[email protected]() Unknown
Powinienem też dodać, na wszelki wypadek, że na pewno mają żadne wartości graniczne ustawione ręcznie wszędzie w moim kodzie.
Włącz serwer Microsoft Symbol, aby uzyskać symbole dla wszystkich funkcji systemu Windows. Dostaniesz porządnie przypisany stos wywoławczy. Opublikuj go w swoim pytaniu, jeśli to nie pomoże. –
Myślałem, że go wypróbowałem, ale nie zdawałem sobie sprawy, że muszę otworzyć ustawienia i najpierw wybrać "załaduj wszystkie symbole". – tacospice
Czy masz> = 2 wersje VS zainstalowane na komputerze, gdy wystąpił ten problem? – ManuelH