Unterschiede zwischen Geräte- und Desktop-Debuggern
Aktualisiert: November 2007
Geräte-Debugger unterstützen die meisten der Features, die auch Desktop-Debugger unterstützen, mit den folgenden Ausnahmen.
Keine Unterstützung für Bearbeiten und Fortfahren
Geräte-Debugger bieten keine Unterstützung für das Ändern des Quellcodes und Fortfahren, während sich das Programm im Unterbrechungsmodus befindet. Um den Code während des Debuggens bearbeiten zu können, müssen Sie den Debugvorgang anhalten, den Code bearbeiten und dann mit dem geänderten Quellcode neu starten. Wenn Sie versuchen, den Code im Unterbrechungsmodus zu ändern, gibt der Debugger eine Warnung aus.
Keine Funktionsauswertung im systemeigenen Debugger
Der systemeigene Geräte-Debugger bietet keine Unterstützung für die Funktionsauswertung. Es ist nicht möglich, einen Ausdruck mit einer Funktion einzugeben und die Funktion mithilfe der zurückgegebenen Ergebnisse auswerten zu lassen.
Der verwaltete Geräte-Debugger bietet keine Unterstützung für die Funktionsauswertung.
Einschränkungen des Interop-Debuggers
Sie können systemeigenen und verwalteten Code nicht innerhalb einer einzelnen Instanz des Debuggers debuggen.
Um Anwendungen zu debuggen, die systemeigenen und verwalteten Code (oder verwalteten Code, der pInvoke verwendet) aufweisen, legen Sie in jedem Abschnitt die Haltepunkte fest, an denen mit der schrittweisen Ausführung des Codes begonnen werden soll. Fügen Sie dann den jeweils für einen bestimmten Abschnitt (z. B. einen verwalteten Abschnitt) erforderlichen Debugger an. Wenn der andere Debugger benötigt wird, trennen Sie den aktiven Debugger und fügen den anderen an. Sie können diese Schritte des Abtrennens/Anfügens bis zum Ende des Programms so oft wie nötig wiederholen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Debuggen einer Projektmappe, die sowohl verwalteten als auch systemeigenen Code enthält.
Die Verwendung von zwei Debuginstanzen zum gleichen Zeitpunkt auf demselben Prozess wird derzeit nicht unterstützt.
Kein Unterstützung für attributbasiertes Debuggen
.NET Compact Framework unterstützt derzeit kein attributbasiertes Debuggen. Aus diesem Grund steht Benutzern von Geräte-Debuggern die Möglichkeit zum Definieren von Attributen für Schnellansichten usw. nicht zur Verfügung.
Keine Unterstützung für das Debuggen von Desktops
Sie können mithilfe der Geräte-Debugger keine Anwendungen debuggen, die für den Desktop geschrieben wurden. Verwenden Sie dazu die Desktop-Debugger.
Keine Unterstützung für Kerneldebuggen
Sie können die Geräte-Debugger nicht für das Kerneldebuggen verwenden.
Keine Unterstützung für Nur mein Code-Debuggen
Sie können Nur mein Code-Debuggen nicht verwenden.
Erweiterungen des Runtime Debugger-Tools ("Cordbg.exe")
Das Runtime Debugger-Tool unterstützt Anbieter und Entwickler von Tools beim Suchen und Beheben von Fehlern in Programmen, die für die Common Language Runtime (CLR) von .NET Framework entwickelt wurden. Geräteprojekte fügen dem Runtime Debugger einen neuen Befehl und ein neues Modusargument hinzu. Die folgende Tabelle zeigt die Syntax für den neuen Befehl und das neue Modusargument (innerhalb einer Cordbg.exe-Sitzung).
Weitere Informationen und die vollständige Syntax finden Sie unter Runtime Debugger-Tool (Cordbg.exe).
Befehl |
Beschreibung |
---|---|
m[ode] EmbeddedCLR {0|1} |
EmbeddedCLR ist ein Modusargument, das den Debugger auf die vorgesehenen Geräteprojekte setzt. Geben Sie 1 für on oder 0 (null) für off an, um diese Einstellung festzulegen. |
conn[ect] machine_name port |
Stellt eine Verbindung zu einem eingebetteten Remote-CLR-Gerät her. Parameter:
|
Probleme mit der Verbindung
Wenn Sie das Gerät während der Ausführung des Debuggers ausschalten, wird der Debugger aufgrund eines Verbindungsfehlers beendet. Der Verbindungsfehler tritt auf, weil die Anwendung auf dem Gerät weiter im Hintergrund ausgeführt wird. Die Schaltfläche mit dem Kreuzchen (X) auf dem Pocket PC ist ein intelligentes Feature zum Minimieren und schließt die Anwendung nicht. Sie aktiviert stattdessen für die Anwendung die Ausführung im Hintergrund.
Um eine auf einem Pocket PC im Hintergrund ausgeführte Anwendung ordnungsgemäß zu schließen, verfahren Sie wie folgt:
Wählen Sie im Menü Start die Option Einstellungen aus, klicken Sie auf die Registerkarte System, und tippen Sie dann auf Arbeitsspeicher. Tippen Sie auf der Registerkarte Ausgeführte Programme auf die Anwendung, die Sie schließen möchten, und tippen Sie dann auf Anhalten.