Czy istnieje sposób wyświetlania wierszy w śladzie stosu dla kompilacji / wdrożenia zestawu .NET w trybie wydania?
AKTUALIZACJA:
Moja aplikacja jest podzielona na trzy projekty bibliotek klas i jeden projekt „strony internetowej” ASP.NET. Błąd, który próbuję wyśledzić, występuje w jednym z trzech projektów bibliotek klas. Wdrożyłem plik pdb tylko dla projektu biblioteki klas, który generuje błąd „Odwołanie do obiektu nie jest ustawione na wystąpienie obiektu”.
Numery wierszy nadal nie pojawiają się w śladzie stosu. Czy muszę wdrożyć pliki pdb dla wszystkich projektów, aby uzyskać numery wierszy w śladzie stosu?
Rozwiązanie robocze
Wdrożenie pliku pdb dla każdej aplikacji rozwiązało problem z numerem linii.
c#
.net
visual-studio
stack-trace
line-numbers
Michael Kniskern
źródło
źródło
W VS2012 należy również odznaczyć opcję „Wyklucz wygenerowane symbole debugowania” w sekcji Spakuj / Opublikuj w sieci Web we właściwościach.
źródło
Moje rozwiązanie
Skopiuj plik pdb do tego samego folderu, w którym znajduje się plik wykonywalny.
teraz mogę wyświetlić numer linii po uruchomieniu pliku exe.
to jest powód
http://msdn.microsoft.com/en-us/library/ee416588%28v=vs.85%29.aspx
źródło
W przeszłości napotkałem problemy, w których czułem potrzebę wdrożenia plików PDB z kompilacją wydania, aby wyśledzić błąd. Powód jest taki, jak powiedziałeś, że wyjątek wystąpił w metodzie, która była bardzo duża i nie mogłem dokładnie określić, gdzie to się dzieje.
Może to wskazywać, że metodę należy przełożyć na mniejsze, bardziej szczegółowe metody. Nie ma jednej odpowiedzi dla wszystkich, ale takie podejście dobrze mi służyło w krótkim okresie (często znajdowałem błąd podczas refaktoryzacji) i na dłuższą metę.
Tylko myśl.
źródło
Dołącz symbole debugowania do pakietu kompilacji / wdrożenia.
źródło
W VS 2008 Express znalazłem go w sekcji Właściwości projektu -> Kompiluj -> Zaawansowane opcje kompilacji.
źródło
To działa za każdym razem. Wystarczy podciągnąć komunikat śledzenia stosu. Naprawdę proste! Ponadto w vb.net musisz zrobić "Pokaż wszystkie pliki" i dołączyć pdb.
Wersja C #:
źródło