Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Użytkownicy, którzy chcą debugować program, mogą nacisnąć F5 , aby uruchomić debuger ze środowiska IDE. Inicjuje to serię zdarzeń, które ostatecznie powodują połączenie środowiska IDE z aparatem debugowania (DE), który jest z kolei połączony lub dołączony do programu w sposób opisany poniżej.
Środowisko IDE najpierw wywołuje pakiet projektu, aby uzyskać aktywne ustawienia debugowania projektu rozwiązania. Ustawienia obejmują katalog początkowy, zmienne środowiskowe, port, na którym program zostanie uruchomiony, oraz środowisko graficzne do utworzenia programu, jeśli takie zostało określone. Te ustawienia są przekazywane do pakietu debugowania.
Jeśli określono de, DE wywołuje system operacyjny, aby uruchomić program. W wyniku uruchomienia programu środowisko uruchomieniowe programu jest ładowane. Jeśli na przykład program jest napisany w języku MSIL, środowisko uruchomieniowe języka wspólnego zostanie wywołane w celu uruchomienia programu.
— lub —
Jeśli de nie zostanie określony, port wywołuje system operacyjny, aby uruchomić program, co powoduje załadowanie środowiska uruchomieniowego programu.
Uwaga / Notatka
Jeśli de jest używany do uruchamiania programu, prawdopodobnie ten sam DE zostanie dołączony do programu.
W zależności od tego, czy DE, czy port uruchomił program, DE lub środowisko czasu wykonywania następnie tworzy opis programu lub węzła i powiadamia port, że program działa.
Uwaga / Notatka
Zaleca się utworzenie węzła programu przez środowisko uruchomieniowe, ponieważ węzeł programu jest uproszczoną reprezentacją programu, który można debugować. Nie ma potrzeby ładowania całego środowiska graficznego tylko po to, aby utworzyć i zarejestrować węzeł programu. Jeśli DE jest przeznaczone do uruchamiania w procesie IDE, ale w rzeczywistości nie jest uruchomione żadne IDE, musi istnieć składnik, który może dodać węzeł programu do portu.
Nowo utworzony program wraz z innymi programami, powiązanymi lub niepowiązanymi, uruchomionymi lub dołączonymi w tym samym środowisku IDE, tworzą sesję debugowania.
Programowo, gdy użytkownik najpierw naciska F5, pakiet debugowania programu Visual Studio wywołuje pakiet projektu (skojarzony z typem uruchamianego programu) za pomocą DebugLaunch metody, która z kolei wypełnia VsDebugTargetInfo2 strukturę aktywnymi ustawieniami debugowania projektu rozwiązania. Ta struktura jest przekazywana z powrotem do pakietu debugowania za pomocą wywołania LaunchDebugTargets2 metody . Następnie pakiet debugowania tworzy wystąpienie menedżera debugowania sesji (SDM), który uruchamia debugowany program oraz wszelkie skojarzone silniki debugowania.
Jednym z argumentów przekazywanych do SDM jest identyfikator GUID DE, który ma być użyty do uruchomienia programu.
Jeśli identyfikator GUID DE nie jest
GUID_NULL, SDM współtworzy DE, a następnie wywołuje jego metodę LaunchSuspended, aby uruchomić program. Jeśli na przykład program jest napisany w kodzie natywnym,IDebugEngineLaunch2::LaunchSuspendedprawdopodobnie wywoła funkcjeCreateProcessiResumeThread(funkcje Win32) do uruchomienia programu.W wyniku uruchomienia programu środowisko uruchomieniowe programu jest ładowane. DE lub środowisko czasu wykonywania tworzy interfejs IDebugProgramNode2 w celu opisania programu i przekazuje ten interfejs do AddProgramNode w celu powiadomienia portu, że program jest uruchomiony.
Jeśli
GUID_NULLzostanie przekazane, port uruchomi program. Po uruchomieniu programu środowisko uruchomieniowe tworzyIDebugProgramNode2interfejs, który opisuje program, i przekazuje go doIDebugPortNotify2::AddProgramNode. Spowoduje to powiadomienie o porcie, na którym jest uruchomiony program. Następnie SDM dołącza aparat debugowania do uruchomionego programu.
W tym dziale
Powiadamianie portu wyjaśnia, co się stanie po uruchomieniu programu i port zostaje powiadomiony.
Dołączanie po uruchomieniu dokumentów, gdy sesja debugowania jest gotowa do dołączenia de do programu.
Treści powiązane
- Zadania debugowania zawierają linki do różnych zadań debugowania, takich jak uruchamianie programu i ocenianie wyrażeń.