Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano kroki umożliwiające określenie celu różnych celów wdrażania i debugowania.
Program Microsoft Visual Studio umożliwia wdrażanie i debugowanie aplikacji platformy uniwersalnej systemu Windows na różnych urządzeniach z systemem Windows 10. Program Visual Studio będzie obsługiwać proces kompilowania i rejestrowania aplikacji na urządzeniu docelowym.
Wybieranie miejsca docelowego wdrożenia
Aby wybrać cel, przejdź do rozwijanej listy docelowego debugowania obok przycisku Rozpocznij debugowanie i wybierz cel, do którego chcesz wdrożyć aplikację. Po wybraniu elementu docelowego wybierz pozycję Rozpocznij debugowanie (F5), aby wdrożyć i debugować w tym obiekcie docelowym, lub wybierz Ctrl+F5 , aby po prostu wdrożyć w tym obiekcie docelowym.
- Symulator wdroży aplikację w symulowanym środowisku na bieżącej maszynie dewelopera. Ta opcja jest dostępna tylko wtedy, gdy minimalna wersja platformy docelowej aplikacji jest mniejsza lub równa systemowi operacyjnemu na maszynie deweloperskiej.
- Lokalne urządzenie wdroży aplikację na twoją bieżącą maszynę deweloperską. Ta opcja jest dostępna tylko wtedy, gdy minimalna wersja platformy docelowej aplikacji jest mniejsza lub równa systemowi operacyjnemu na maszynie deweloperskiej.
- Remote Machine pozwoli określić zdalny komputer docelowy do wdrożenia aplikacji. Więcej informacji na temat wdrażania na maszynie zdalnej można znaleźć w Określanie urządzenia zdalnego.
- urządzenie wdroży aplikację na urządzenie podłączone przez USB. Urządzenie musi być odblokowane dla deweloperów i mieć odblokowany ekran.
- Obiekt docelowy emulatora uruchomi i wdroży aplikację w emulatorze z konfiguracją określoną w nazwie. Emulatory są dostępne tylko na maszynach z obsługą Hyper-V z systemem Windows 8.1 lub nowszym.
Debugowanie wdrożonych aplikacji
Program Visual Studio może również dołączyć do dowolnego uruchomionego procesu aplikacji UWP, wybierając opcję Debug, a następnie Dołącz do procesu. Dołączanie do uruchomionego procesu nie wymaga oryginalnego projektu programu Visual Studio, ale ładowanie symboli procesu znacznie pomoże podczas debugowania procesu, dla którego nie masz oryginalnego kodu.
Ponadto wszystkie zainstalowane pakiety aplikacji można dołączyć i debugować, wybierając pozycję Debuguj, Inne, a następnie Debuguj zainstalowane pakiety aplikacji.
Wybranie opcji Nie uruchamiaj, ale debuguj mój kod przy jego uruchomieniu spowoduje, że debuger programu Visual Studio dołączy do twojej aplikacji UWP, gdy uruchomisz ją w niestandardowym momencie. Jest to skuteczny sposób debugowania ścieżek sterowania z różnych metod uruchamiania, takich jak aktywacja protokołu z parametrami niestandardowymi.
Aplikacje platformy UWP można opracowywać i kompilować w systemie Windows 8.1 lub nowszym, ale wymagają uruchomienia systemu Windows 10. Jeśli tworzysz aplikację UWP na komputerze z Windows 8.1, możesz zdalnie debugować aplikację UWP działającą na innym urządzeniu z Windows 10, pod warunkiem, że zarówno komputer hosta, jak i docelowy znajdują się w tej samej sieci LAN. W tym celu pobierz i zainstaluj narzędzia Remote Tools for Visual Studio na obu maszynach. Zainstalowana wersja musi być zgodna z zainstalowaną istniejącą wersją programu Visual Studio, a wybrana architektura (x86, x64) musi być również zgodna z wersją aplikacji docelowej.
Układ pakietu
Od wersji Visual Studio 2015 Update 3 dodaliśmy dla deweloperów opcję określania ścieżki układu dla aplikacji platformy UWP. Określa, gdzie układ pakietu jest kopiowany na dysk podczas kompilowania aplikacji. Domyślnie ta właściwość jest ustawiana względem katalogu głównego projektu. Jeśli ta właściwość nie zostanie zmodyfikowana, zachowanie pozostanie takie samo jak w przypadku poprzednich wersji programu Visual Studio.
Tę właściwość można zmodyfikować we właściwościach debugowania projektu.
Jeśli chcesz uwzględnić wszystkie pliki układu w pakiecie podczas tworzenia pakietu dla aplikacji, musisz dodać właściwość <IncludeLayoutFilesInPackage>true</IncludeLayoutFilesInPackage>projektu .
Aby dodać tę właściwość:
- Kliknij prawym przyciskiem myszy projekt, a następnie wybierz pozycję Wyładuj projekt.
- Kliknij prawym przyciskiem myszy projekt, a następnie wybierz polecenie Edytuj [nazwa projektu].xxproj (.xxproj zmieni się w zależności od języka projektu).
- Dodaj właściwość , a następnie załaduj ponownie projekt.
Określanie urządzenia zdalnego
C# i Microsoft Visual Basic
Aby określić maszynę zdalną dla aplikacji języka C# lub Microsoft Visual Basic, wybierz pozycję Maszyna zdalna z listy rozwijanej miejsca docelowego debugowania. Zostanie wyświetlone okno dialogowe Połączenia zdalne , które umożliwi określenie adresu IP lub wybranie odnalezionego urządzenia. Domyślnie jest wybierany tryb uwierzytelniania uniwersalnego . Aby określić, który tryb uwierzytelniania ma być używany, zobacz Tryby uwierzytelniania.
Aby wrócić do tego okna dialogowego, możesz otworzyć właściwości projektu i przejść do karty Debug. Następnie wybierz pozycję Znajdź obok Komputer Zdalny:
Aby wdrożyć aplikację na zdalnym komputerze z wersją systemu przed aktualizacją Creators Update, należy również pobrać i zainstalować Narzędzia Zdalne programu Visual Studio na komputerze docelowym. Aby uzyskać pełne instrukcje, zobacz Instrukcje dotyczące komputera zdalnego. Jednak od aktualizacji Creators Update PC obsługuje również zdalne wdrażanie.
C++ i JavaScript
Aby określić docelowy komputer zdalny dla aplikacji platformy UWP języka C++ lub JavaScript:
- W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt, a następnie wybierz Właściwości.
- Przejdź do ustawień debugowania i w obszarze Debuger, aby uruchomić, wybierz pozycję Remote Machine.
- Wprowadź nazwę maszyny (lub kliknij przycisk Znajdź, aby ją znaleźć), a następnie ustaw właściwość Typ uwierzytelniania.
Po określeniu maszyny możesz wybrać maszynę zdalną z listy rozwijanej miejsca docelowego debugowania, aby powrócić do tej określonej maszyny. Jednocześnie można wybrać tylko jedną maszynę zdalną.
Instrukcje dotyczące komputera zdalnego
Uwaga / Notatka
Te instrukcje są wymagane tylko dla starszych wersji systemu Windows 10. W ramach aktualizacji dla twórców komputer może być traktowany jak konsola Xbox. Poprzez włączenie wyszukiwania urządzeń w menu Tryb dewelopera komputera i użycie uniwersalnego uwierzytelniania do sparowania z kodem PIN oraz połączenie z komputerem.
Aby wdrożyć program na komputerze zdalnym z systemem przed aktualizacją Creators, komputer docelowy musi mieć zainstalowane Narzędzia Zdalne programu Visual Studio. Na komputerze zdalnym musi być również uruchomiona wersja systemu Windows, która jest większa lub równa aplikacjom, właściwość Minimalna wersja platformy docelowej. Po zainstalowaniu narzędzi zdalnych należy uruchomić zdalny debuger na komputerze docelowym.
W tym celu wyszukaj polecenie Remote Debugger w menu Start , otwórz go i jeśli zostanie wyświetlony monit, zezwól debugerowi na skonfigurowanie ustawień zapory. Domyślnie debuger uruchamia się przy użyciu uwierzytelniania systemu Windows. Będzie to wymagać poświadczeń użytkownika, jeśli zalogowany użytkownik nie jest taki sam na obu komputerach.
Aby zmienić go na
Aby uzyskać więcej informacji, odwiedź stronę Centrum pobierania programu Visual Studio.
Przekazywanie argumentów wiersza polecenia do debugowania
W programie Visual Studio 2019 można przekazać argumenty debugowania wiersza polecenia podczas uruchamiania debugowania aplikacji platformy UWP. Dostęp do argumentów debugowania wiersza polecenia można uzyskać z parametru args w metodzie OnLaunched klasy Application. Aby określić argumenty debugowania wiersza polecenia, otwórz właściwości projektu i przejdź do karty Debugowanie .
Uwaga / Notatka
Jest to dostępne w programie Visual Studio 2017 (wersja 15.1) dla języków C#, VB i C++. Język JavaScript jest dostępny w nowszych wersjach. Argumenty debugowania wiersza polecenia są dostępne dla wszystkich typów wdrożeń z wyjątkiem symulatora.
W przypadku projektów C# i VB UWP zobaczysz argumenty wiersza polecenia : pole w obszarze Opcje uruchamiania.
W przypadku projektów C++ i JS UWP zobaczysz argumenty wiersza polecenia
Po określeniu argumentów wiersza polecenia można uzyskać dostęp do wartości argumentu w metodzie OnLaunched aplikacji. Obiekt LaunchActivatedEventArgsargs będzie miał właściwość Argumenty z wartością ustawioną na tekst w argumenty wiersza polecenia.
Tryby uwierzytelniania
Istnieją trzy tryby uwierzytelniania dla wdrożenia maszyny zdalnej:
- Uniwersalny (Unencrypted Protocol): użyj tego trybu uwierzytelniania za każdym razem, gdy wdrażasz na urządzenie zdalne. Obecnie dotyczy to urządzeń IoT, urządzeń Xbox i urządzeń HoloLens, a także komputerów z systemem Windows w wersji 1703 (aktualizacja dla twórców) lub nowszych. Protokół uniwersalny (niezaszyfrowany) powinien być używany tylko w zaufanych sieciach. Połączenie debugowania jest narażone na złośliwych użytkowników, którzy mogą przechwytywać i zmieniać przekazywane dane między komputerem deweloperskim i zdalnym.
- Windows: ten tryb uwierzytelniania jest przeznaczony tylko dla komputera zdalnego (komputer stacjonarny lub laptop) z uruchomionymi narzędziami zdalnymi programu Visual Studio. Użyj tego trybu uwierzytelniania, gdy masz dostęp do poświadczeń zalogowanego użytkownika maszyny docelowej. Jest to najbezpieczniejszy kanał wdrożenia zdalnego.
- Brak: ten tryb uwierzytelniania jest przeznaczony tylko dla komputera zdalnego (komputer stacjonarny lub laptop) z uruchomionymi narzędziami zdalnymi programu Visual Studio. Użyj tego trybu uwierzytelniania, gdy masz maszynę testową skonfigurowaną w środowisku z zalogowanym kontem testowym i nie można wprowadzić poświadczeń. Upewnij się, że ustawienia zdalnego debugera są ustawione tak, aby nie akceptowały uwierzytelniania.
Zaawansowane opcje wdrażania zdalnego
Od wersji programu Visual Studio 2015 Update 3 i rocznicowej aktualizacji systemu Windows 10 dostępne są nowe zaawansowane opcje zdalnego wdrażania dla niektórych urządzeń z systemem Windows 10. Zaawansowane opcje zdalnego wdrażania można znaleźć w menu Debugowanie dla właściwości projektu.
Nowe właściwości obejmują:
- Typ wdrożenia
- Ścieżka rejestracji pakietu
- Zachowaj wszystkie pliki na urządzeniu — nawet te, które nie są już częścią układu
Wymagania
Aby korzystać z zaawansowanych opcji wdrażania zdalnego, należy spełnić następujące wymagania:
- Upewnij się, że masz zainstalowany program Visual Studio 2015 Update 3 lub nowszą wersję Visual Studio z narzędziami Windows 10 Tools 1.4.1 lub nowszymi (w tym Anniversary Update zestawu SDK systemu Windows 10). Zalecamy użycie najnowszej wersji programu Visual Studio z aktualizacjami, aby mieć dostęp do najnowszych funkcji rozwojowych i zabezpieczeń.
- Ukierunkuj urządzenie zdalne z aktualizacją rocznicową systemu Windows 10 Xbox lub komputer z aktualizacją twórców systemu Windows 10.
- Korzystanie z trybu uwierzytelniania uniwersalnego
Strony właściwości
W przypadku aplikacji platformy UWP w języku C# lub Visual Basic strona właściwości będzie wyglądać podobnie do poniższej.
W przypadku aplikacji platformy UWP języka C++ strona właściwości będzie wyglądać podobnie do poniższej.
Kopiowanie plików na urządzenie
Kopiowanie plików na urządzenie fizycznie przeniesie pliki przez sieć do zdalnego urządzenia. Spowoduje to skopiowanie i zarejestrowanie układu pakietu utworzonego w ścieżce folderu Layout. Program Visual Studio zachowa pliki skopiowane na urządzenie w sposób zsynchronizowany z plikami w projekcie programu Visual Studio; Istnieje jednak możliwość przechowywania wszystkich plików na urządzeniu — nawet tych, które nie są już częścią układu. Wybranie tej opcji oznacza, że wszystkie pliki, które zostały wcześniej skopiowane do urządzenia zdalnego, ale nie są już częścią projektu, pozostaną na urządzeniu zdalnym.
Ścieżka rejestracji pakietu określona podczas kopiowania plików na urządzenie jest lokalizacją fizyczną na urządzeniu zdalnym, na którym są kopiowane pliki. Tę ścieżkę można określić jako dowolną ścieżkę względną. Lokalizacja wdrażania plików będzie określana względem katalogu głównego plików deweloperskich, który może się różnić w zależności od urządzenia docelowego. Określenie tej ścieżki jest przydatne dla wielu deweloperów, którzy udostępniają to samo urządzenie i pracują nad pakietami z pewną wariancją kompilacji.
Uwaga / Notatka
Kopiowanie plików na urządzenie jest obecnie obsługiwane na konsolach Xbox z Windows 10 Aktualizacja Rocznicowa i komputerach z Windows 10 Aktualizacja dla Twórców.
Na urządzeniu zdalnym układ zostanie skopiowany do następującej lokalizacji domyślnej: \\MY-DEVKIT\DevelopmentFiles\PACKAGE-REGISTRATION-PATH
Rejestrowanie układu z sieci
Wybierając rejestrację układu z sieci, można przygotować układ pakietu do współdzielenia w sieci, a następnie zarejestrować układ na urządzeniu zdalnym bezpośrednio z sieci. Wymaga to określenia ścieżki folderu układu (udziału sieciowego), która jest dostępna z urządzenia zdalnego. Ścieżka folderu Layout jest ścieżką ustawioną względem komputera z uruchomionym Visual Studio, podczas gdy właściwość 'Ścieżka rejestracji pakietu' jest tą samą ścieżką, lecz określoną względem urządzenia zdalnego.
Aby pomyślnie zarejestrować układ z sieci, należy najpierw uczynić ścieżkę folderu Layout udostępnionym folderem sieciowym. W tym celu kliknij prawym przyciskiem myszy folder w Eksploratorze plików, wybierz pozycję Udostępnij > określonym osobom, a następnie wybierz użytkowników, którym chcesz udostępnić folder. Podczas próby zarejestrowania układu z sieci zostanie wyświetlony monit o podanie poświadczeń w celu upewnienia się, że rejestrujesz się jako użytkownik z dostępem do udziału.
Aby uzyskać pomoc dotyczącą tego, zobacz następujące przykłady:
Przykład 1 (folder układu lokalnego, dostępny jako udział sieciowy):
- Ścieżka folderu layoutu =
D:\Layouts\App1 -
ścieżka rejestracji pakietu =
\\NETWORK-SHARE\Layouts\App1
- Ścieżka folderu layoutu =
Przykład 2 (folder układu sieciowego):
- Ścieżka folderu layoutu =
\\NETWORK-SHARE\Layouts\App1 -
ścieżka rejestracji pakietu =
\\NETWORK-SHARE\Layouts\App1
- Ścieżka folderu layoutu =
Kiedy po raz pierwszy zarejestrujesz układ z sieci, Twoje poświadczenia zostaną zcache'owane na urządzeniu docelowym, aby nie trzeba było się logować ponownie. Aby usunąć buforowane poświadczenia, możesz użyć narzędziaWinAppDeployCmd.exe z zestawu SDK systemu Windows 10 za pomocą polecenia deletecreds .
Nie można wybrać zachować wszystkie pliki na urządzeniu podczas rejestrowania układu z sieci, ponieważ żadne pliki nie są fizycznie kopiowane do zdalnego urządzenia.
Uwaga / Notatka
Układ rejestru z sieci jest obecnie obsługiwany na konsoli Xbox z Aktualizacją Rocznicową systemu Windows 10 oraz na komputerach z Aktualizacją dla Twórców systemu Windows 10.
Na urządzeniu zdalnym układ jest rejestrowany w następującej lokalizacji domyślnej w zależności od rodziny urządzeń: Xbox: \\MY-DEVKIT\DevelopmentFiles\XrfsFiles — jest to symlink do ścieżki rejestracji pakietu pc nie używa symlinku i zamiast tego bezpośrednio rejestruje ścieżkę rejestracji pakietu
Opcje debugowania
W systemie Windows 10 wydajność przy uruchamianiu aplikacji platformy UWP jest ulepszana przez aktywne uruchamianie, a następnie zawieszanie aplikacji w technice zwanej wstępne uruchamianie. Wiele aplikacji nie będzie musiało wykonywać żadnych czynności specjalnych, aby pracować w tym trybie, ale niektóre aplikacje mogą wymagać dostosowania ich zachowania. Aby ułatwić debugowanie wszelkich problemów w tych ścieżkach kodu, możesz rozpocząć debugowanie aplikacji z poziomu programu Visual Studio w trybie wstępnym.
Debugowanie jest obsługiwane zarówno w projekcie programu Visual Studio (Debugowanie —>Inne cele debugowania —>Debugowanie uniwersalnej aplikacji systemu Windows) i dla aplikacji już zainstalowanych na komputerze (Debugowanie —>inne cele debugowania —>Debugowanie zainstalowanego pakietu aplikacji, wybierając pole wyboru Aktywuj aplikację z wstępnym uruchomieniem). Aby uzyskać więcej informacji, zobacz Debugowanie UWP przed uruchomieniem.
Na stronie właściwości Debug projektu startowego można ustawić następujące opcje wdrażania:
Zezwalaj na pętlę zwrotną sieci lokalnej
Ze względów bezpieczeństwa aplikacja platformy UWP zainstalowana w standardowy sposób nie może wykonywać wywołań sieciowych do urządzenia, na którym jest zainstalowana. Domyślnie wdrożenie programu Visual Studio tworzy wykluczenie z tej reguły dla wdrożonej aplikacji. To wykluczenie umożliwia testowanie procedur komunikacji na jednym komputerze. Przed przesłaniem aplikacji do Sklepu Microsoft należy przetestować aplikację bez wykluczenia.
Aby usunąć wyjątek dla pętli zwrotnej sieci z aplikacji:
- Na stronie właściwości Debug dla C# i Visual Basic wyczyść pole wyboru Zezwalaj na sprzężenie zwrotne sieci lokalnej.
- Na stronie właściwości Debugowanie javaScript i C++
ustaw wartość Zezwalaj na sprzężenie zwrotne sieci lokalnej na wartośćNie .
Nie uruchamiaj, ale debuguj mój kod przy uruchamianiu / Uruchom aplikację
Aby skonfigurować wdrożenie w celu automatycznego uruchamiania sesji debugowania po uruchomieniu aplikacji:
- Na stronie właściwości Debugowanie
debugowania w języku C# i Visual Basic zaznacz pole wyboru Nie uruchamiaj , ale debuguj kod po uruchomieniu . - Na stronie właściwości Debugowanie debugowania języka JavaScript i C++ ustaw wartość Uruchom aplikację na Tak.
- Na stronie właściwości Debugowanie
Symbole
Pliki symboli zawierają różne bardzo przydatne dane podczas debugowania kodu, takie jak zmienne, nazwy funkcji i adresy punktów wejścia, co pozwala lepiej zrozumieć wyjątki i kolejność wykonywania stosu wywołań. Symbole dla większości wariantów systemu Windows są dostępne za pośrednictwem serwera Symbol Firmy Microsoft lub można je pobrać w celu szybszego wyszukiwania w trybie offline w temacie Pobieranie pakietów symboli systemu Windows.
Aby ustawić opcje symboli programu Visual Studio, wybierz Narzędzia > Opcje, a następnie przejdź do Debugowanie > Symbole w oknie dialogowym.
Aby załadować symbole w sesji debugowania z programem WinDbg, ustaw zmienną ścieżki symboli (sympath) na lokalizację pakietu symboli. Na przykład uruchomienie następującego polecenia spowoduje załadowanie symboli z serwera symboli firmy Microsoft, a następnie buforowanie ich w katalogu C:\Symbols:
.sympath SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
.reload
Możesz dodać więcej ścieżek przy użyciu ‘;’ ogranicznika lub użyć .sympath+ polecenia . Aby uzyskać bardziej zaawansowane operacje symboli, które wykorzystują WinDbg, zobacz Publiczne i Prywatne Symbole.
WinDbg
WinDbg to zaawansowany debuger dostarczany w ramach zestawu Narzędzi debugowania dla systemu Windows, który jest dołączony do zestawu Windows SDK. Instalacja zestawu Windows SDK umożliwia zainstalowanie narzędzi debugowania dla systemu Windows jako produktu autonomicznego. Chociaż bardzo przydatne do debugowania kodu natywnego, nie zalecamy użycia biblioteki WinDbg dla aplikacji napisanych w kodzie zarządzanym ani w kodzie HTML5.
Aby korzystać z usługi WinDbg z aplikacjami platformy UWP, należy najpierw wyłączyć zarządzanie okresem istnienia procesu dla pakietu aplikacji przy użyciu narzędzia PLMDebug, zgodnie z opisem w temacie Testowanie i debugowanie narzędzi do zarządzania okresem istnienia procesu (PLM).
plmdebug /enableDebug [PackageFullName] ""C:\Program Files\Debugging Tools for Windows (x64)\WinDbg.exe\" -server npipe:pipe=test"
W przeciwieństwie do programu Visual Studio większość podstawowych funkcji WinDbg polega na wprowadzaniu poleceń do okna poleceń. Udostępnione polecenia umożliwiają wyświetlanie stanu wykonywania, badanie zrzutów awaryjnych trybu użytkownika i debugowanie w różnych trybach.
Jednym z najpopularniejszych poleceń w WinDbg jest !analyze -v, które służy do pobierania szczegółowej ilości informacji o bieżącym wyjątku, w tym:
- FAULTING_IP: wskaźnik instrukcji w momencie wystąpienia błędu
- EXCEPTION_RECORD: adres, kod i flagi bieżącego wyjątku
- STACK_TEXT: ślad stosu przed wyjątkiem
Aby uzyskać pełną listę wszystkich poleceń WinDbg, zobacz Debugger Commands (Polecenia debugera).