Dlaczego podczas zdalnego debugowania nie są ładowane żadne Symbole?

Chcę używać zdalnego debugowania. Program, który chcę debugować działa na maszynie b. Visual Studio działa na maszynie a.

Na maszynie b mam folder z następującymi plikami:

    Msvcr72dll Msvsmon.exe
  • NatDbgDE.dll
  • NatDbgDEUI.dll
  • NatDbgEE.dll
  • NatDbgEEUI.dll

Jeśli uważasz, że brakuje niektórych plików, możesz również opisać, gdzie zwykle się znajdują?

W następnym kroku zacząłem msvsmon.exe a mój program na maszynie b. na maszynie a uruchomiłem Visual Studio 2008 i moje rozwiązanie, w którym program został napisany. Następnie wybieram "Debug-Dołącz do procesu". Wybrałem " zdalny Transport (natywny tylko bez uwierzytelniania)". Użyłem poprawnego IP jako kwalifikatora i wybrałem właściwy proces (program.exe). Po chwili w wyskakującym oknie pojawił się następujący komunikat:

Nieobsługiwany wyjątek w 0x7c812a7b w programie.exe: 0xe0434f4d: 0xe0434f4d

I can continue lub break; podczas kontynuowania, wyjątek występuje ponownie i ponownie i ponownie. Więc nacisnąłem break i pojawił się następujący komunikat:

Żadne symbole nie są ładowane dla żadnej ramki stosu wywołań. Kod źródłowy nie może zostać wyświetlony.

Author: GreatDane, 2008-09-30

12 answers

Upewnij się, że skopiujesz .Plik PDB, który jest generowany wraz z Twoim złożeniem w tym samym folderze na zdalnym komputerze. Pozwoli to debugerowi na odebranie symboli debugowania.

 24
Author: Kyle Trauberman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-30 06:23:03
  1. Dodaj folder udostępniony na komputerze dev, który wskazuje na lokalizację .pliki pdb
  2. Skonfiguruj zmienną środowiskową o nazwie _NT_SYMBOL_PATH na zdalnym komputerze, która wskazuje na folder udostępniony na komputerze dev

Zdalny debugger będzie teraz przeszukiwał twoją maszynę deweloperską w poszukiwaniu symboli. Nie ma potrzeby kopiowania ich dla każdej konstrukcji.

Zobacz MS Video tutaj .

Zacznij oglądać 8-9 minut w. Demonstruje jak skonfigurować zdalny debugger do ładowania symbole z dysku udostępniają się na maszynie programistycznej.

Powodzenia!
 16
Author: BrianR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-17 17:17:47
  • w menu Narzędzia w Visual studio 2010 wybierz Opcje.
  • w oknie dialogowym Opcje otwórz węzeł debugowania, a następnie kliknij generałowie.
  • zaznacz Pokaż wszystkie ustawienia w razie potrzeby i znajdź włącz tylko Mój kod (Tylko zarządzane)
  • usuń zaznaczenie i kliknij OK

Po podłączeniu zdalnego procesu

 11
Author: scrat789,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-13 12:37:07

Zdalne debugowanie w. Net nie zadziała, jeśli nie umieścisz .Pliki PDB do tego samego katalogu, w którym istnieje debugowany kod.

Jeśli VS nadal nie może znaleźć źródła do debugowania, debugowany kod i źródło projektu VS są Nie tą samą wersją . Rozwiązaniem jest przebudowa i przesunięcie projektu.

 5
Author: artur02,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-30 07:21:10

0xE0434F4D jest wyjątkiem od CLR (tj. kodu zarządzanego). Musisz zdalnie debugować za pomocą uwierzytelniania i wybrać debugowanie zarządzanego kodu. Alternatywnie, możliwe jest wyodrębnienie zarządzanych informacji o wyjątkach przy użyciu niektórych rozszerzeń debuggera, ale jest to nieco bardziej ciężka praca.

Bibliografia:

Jeśli jest zepsuty...

 4
Author: 1800 INFORMATION,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-30 06:34:27

1800 INFORMATION is right, you have to do remote debugging with Windows authentication in to debugg managed code, w przeciwnym razie nie będzie w stanie załadować symboli dla managed assemblies. Wprowadzenie tego do pracy z uwierzytelnianiem jest dość trudne, ponieważ wymaga między innymi lokalnych kont na obu komputerach z identycznymi hasłami. To pytanie i odpowiedzi wszystkich są bardzo przydatne, aby to zadziałało.

Zdalne debugowanie w Visual Studio (VS2008), Aplikacja Windows Forms

 3
Author: ajs410,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:33:51

Miałem te same problemy. Znalazłem odpowiedź na msdn forums skopiuję / wkleję poprawną odpowiedź tutaj:

Upewnij się, że używasz poprawna wersja msvsmon.exe!!! To wszystko! miałem ten sam problem podczas zdalnego debugowania C# podanie. Używałem x64 msvsmon.exe bo serwer działa Windows Server 2008 64-bit, ale aplikacja została napisana dla x86, więc I musiałem uruchomić wersję x86 msvsmon.exe w celu pozbycia się z ten irytujący błąd. Nic więcej nie było potrzebne. Wystarczy uruchomić wersję msvsmon.exe że odpowiada architekturze docelowej Twojej aplikacji ^_^

 3
Author: mcanti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-09 17:22:40

Podczas gdy powyższe odpowiedzi są poprawne, natknąłem się na przypadki, w których PDB, które zostały zbudowane z debugowaniem assembly, były na miejscu w zdalnej lokalizacji i nie były odbierane. Jeśli używasz TFS lub innego mechanizmu budowania, który obsługuje publikowanie symboli debugowania, polecam to zrobić. Następnie w programie Visual Studio opcje>debugowanie > Symbole możesz dodać tę lokalizację do opcji Serwery symboli, aby załadować te symbole w dowolnym momencie, gdy zostaną dopasowane.

To ma pozwoliło mi debugować darned prawie wszystko, co jest uruchomione, że napisałem nawet jeśli jest to dynamicznie nazywany assembly (coś, że nie mogłem dostać się do pracy dla życia mnie, gdy tylko publikowanie symboli z assembly). Skorzystaj z tej bardzo przydatnej funkcji!

 3
Author: CodeWarrior,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-12 21:02:44

Udało mi się to uruchomić, przechodząc do Właściwości projektu, karty kompilacji i ustawiając ścieżkę wyjściową kompilacji do mojego zdalnego komputera np. \myserver\myshare\myappdir

W zakładce debug mam Use remote machine sprawdzone i ustawione na myserver

 1
Author: oldDavid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-14 15:01:16

Napotkałem to również podczas korzystania z niestandardowej konfiguracji build . ( DEV zamiast Debug )

Aby to naprawić, zmodyfikowałem właściwości projektu-- > Build-- > Output-- > Advanced i upewniłem się, że ustawienie Output-- > debug Info było full lub pdb-only . Domyślna konfiguracja Release jest zazwyczaj ustawiona na none .

 1
Author: SliverNinja - MSFT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-27 18:00:38

Zgodnie z dokumentacją, dla zarządzanego (próbowałem podłączyć do zarządzanej usługi windows (zbudowany na. Net 4.5) NA zdalnej maszynie z visual studio 2012) symbole powinny być Na zdalnej maszynie.

Więc po prostu trzymałem symbole (upewnij się, że pasują do modułów / zespołów aplikacji na zdalnej maszynie) na zdalnej maszynie, udostępniałem je i odwoływałem się do nich poprzez ustawienia symboli z lokalnego systemu (gdzie vs jest uruchomiony).

Uwaga: usługa i symbole nie muszą być w tym samym katalogu, co działa u mnie z usługą windows 2K12+. NET 4.5.

Szczegóły:

Http://msdn.microsoft.com/en-us/library/bt727f1t (v=vs.100). aspx

Fragment linku:

Symbol Lokacyjny (.pdb) Files


Pliki symboli zawierają informacje o debugowaniu skompilowanych plików wykonywalnych. Pliki symboli aplikacji do debugowania muszą być plikami utworzonymi, gdy pliki wykonywalne aplikacji były opracowano na podstawie materiału źródłowego. Pliki symboli muszą również znajdować się tam, gdzie debugger może je znaleźć.

* pliki symboli dla aplikacji natywnych muszą znajdować się na komputerze hosta Visual Studio.

pliki symboli zarządzanych aplikacji muszą znajdować się na komputerze zdalnym.

* pliki symboli dla aplikacji mieszanych (zarządzanych i natywnych) muszą znajdować się zarówno na komputerze hosta Visual Studio, jak i na komputerze zdalnym.

Pozdrawiam!

 0
Author: Dreamer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-24 09:39:17

Przejdź do Narzędzia->Opcje->debugowanie->Symbole i dodaj ścieżkę do .pliki pdb dla pliku wykonywalnego. Ścieżka na mojej lokalnej maszynie działała dobrze.

 0
Author: cemanuel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-13 16:36:24