Freigeben über


Auswählen einer Debugmodulimplementierungsstrategie

Verwenden Sie die Laufzeitarchitektur, um die Implementierungsstrategie des Debugmoduls (DE) zu ermitteln. Sie können das Debugmodul im Prozess für das Programm erstellen, das Sie debuggen. Erstellen Sie das Debugmodul im Prozess für den Visual Studio-Sitzungsdebug-Manager (SDM). Oder erstellen Sie das Debugmodul außerhalb des Prozesses für beide. Die folgenden Richtlinien sollten Ihnen bei der Auswahl dieser drei Strategien helfen.

Richtlinien

Obwohl es möglich ist, dass die DE sowohl für das SDM als auch für das Programm, das Sie debuggen, nicht verarbeitet werden kann, gibt es in der Regel keinen Grund, dies zu tun. Aufrufe über Prozessgrenzen hinweg sind relativ langsam.

Debugmodule werden bereits für die systemeigene Win32-Laufzeitumgebung und für die Laufzeitumgebung der gemeinsamen Sprache bereitgestellt. Wenn Sie die DE für eine der beiden Umgebungen ersetzen müssen, sollten Sie den DE-Prozess mit dem SDM erstellen.

Andernfalls erstellen Sie entweder die DE-In-Process-Datei für das SDM oder in einem Prozess für das Programm, das Sie debuggen. Sie müssen berücksichtigen, ob der Ausdrucksauswert der DE häufigen Zugriff auf den Programmsymbolspeicher erfordert. Oder wenn der Symbolspeicher zum schnellen Zugriff in den Speicher geladen werden kann. Berücksichtigen Sie außerdem die folgenden Ansätze:

  • Wenn es nicht viele Aufrufe zwischen dem Ausdrucksauswerter und dem Symbolspeicher gibt oder der Symbolspeicher in den SDM-Speicher gelesen werden kann, erstellen Sie die DE-In-Process-Datei für das SDM. Sie müssen die CLSID des Debugmoduls an das SDM zurückgeben, wenn sie an Ihr Programm angefügt wird. Die SDM verwendet diese CLSID, um eine In-Process-Instanz der DE zu erstellen.

  • Wenn die DE das Programm aufrufen muss, um auf den Symbolspeicher zuzugreifen, erstellen Sie den DE-Prozess mit dem Programm. In diesem Fall erstellt das Programm die Instanz der DE.