Uruchamianie programu

Moduły dodatkowe debugowania platformy umożliwiają modułom dodatkowym rozszerzenie platformy w taki sposób, aby dany typ programu mógł być uruchamiany z poziomu środowiska roboczego, pozwalając w razie konieczności na wprowadzenie danych wejściowych przez użytkownika. Unikalny typ programu, który można uruchomić na platformie, nazywany jest typem konfiguracji startowej. Klasy ILaunchConfiguration używa się do opisania typu konfiguracji. Konfiguracja startowa przechowuje zestaw atrybutów nazwanych, które mogą zostać użyte do przechowywania danych specyficznych dla danego rodzaju programu uruchamiającego.

Dla każdego typu konfiguracji startowej istnieje kilka trybów, w których konfiguracja ta może być uruchamiana. Platforma określa tryby na potrzeby uruchamiania, debugowania lub profilowania programu określonego przez daną konfigurację. Moduły dodatkowe mogą implementować jeden lub wiele z tych trybów uruchamiania w danej konfiguracji startowej lub definiować dla niej nowe tryby.

Moduły dodatkowe, które mogą udostępniać dodatkowe typy programów uruchamiających, robią przez dostarczenie interfejsu ILaunchConfigurationDelegate (lub ILaunchConfigurationDelegate2), który zna sposób uruchomienia programu, uwzględniając oczekiwany typ i tryb konfiguracji startowej. Po uruchomieniu programu do przedstawiania uruchomionej sesji używany jest obiekt ILaunch. Ten obiekt może być przeszukiwany w celu uzyskania informacji na temat uruchomionych procesów, sesji debugowania czy położenia kodu źródłowego. Uruchomiony obiekt zna konfigurację, według której został utworzony. 

W oknie dialogowym konfiguracji startowej ustawiane są parametry dla różnych typów uruchomień. Te konfiguracje mogą być przechowywane w pliku i współużytkowane z innymi użytkownikami lub mogą być przechowywane lokalnie w obszarze roboczym.