Updates für Visual Studio 2008 SP1 Debuggen und Haltepunkte

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 957912 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

EINFÜHRUNG

Microsoft hat Updates für Microsoft Visual Studio 2008 SP1-Debuggerkomponenten veröffentlicht. Diese Updates behandeln hauptsächlich mit schrittweise und Haltepunkte auf Probleme.

Weitere Informationen

Installation

Dieses Update ist für alle Versionen von Visual Studio 2008 SP1 auf X 86 und X 64-Computern. Jedoch, wenn Sie Visual Studio 2008 Standard Edition auf einem 64-Bit-Betriebssystem verwenden, müssen Sie die 64-Bit-Visual Studio 2008 SP1-Remotedebugger installieren bevor Sie dieses Update anwenden. Weitere Informationen erhalten die 64-Bit-Visual Studio 2008 SP1 Remote Debugger, den folgenden Microsoft-Website:
http://www.microsoft.com/downloads/details.aspx?FamilyID=440ec902-3260-4cdc-b11a-6a9070a2aaab&DisplayLang=en

Multi-Process und Multithreaded-Debugger-Updates

Hinweis: Die folgenden Beschreibungen beziehen sich auf einer hypothetischen Reihe von Prozessen, die gedebuggt werden von einer einzigen Instanz von Visual Studio. Wenn Funktionen bezeichnet werden, wird davon ausgegangen, dass die Funktionen Schleifen enthalten oder, dass die Funktionen rekursive sind. Diese Szenarien sollen nicht das Problem zu reproduzieren. Stattdessen werden Sie bereitgestellt, damit das Problem erläutern.

Haltepunkte in parallelisierten Schleifen werden schließlich nach mehreren Treffer ignoriert.

Haltepunkte platzieren in Schleifen oder in rekursiven Funktionen nicht in allen Prozessen bei jeder Iteration erreicht. Häufig können einige Prozesse durchlaufen viele Iterationen einer Schleife, die den Haltepunkt ignoriert, bevor ein Prozess beendet wird. Stellen Sie sich das folgende Szenario vor:
  1. Sie Debuggen mehrerer Prozesse gestartet werden. Eine der Prozesse, die Sie Debuggen ist in einer engen Schleife oder eine rekursive Funktion.
  2. Sie beenden den Hauptthread des aktuellen Prozesses (der letzte Prozess, der Haltepunkt erreicht), und fahren mit Debuggen. Wiederholen Sie diese Aktion für jeden Prozess.
  3. Neustart der Threads für jeden Prozess.
Sie bemerken, dass Haltepunkte nach mehreren Iterationen nicht mehr erkannt werden. Dieses Verhalten ist unerwartet.

Beenden und Starten des Threads verursacht Haltepunkte ausgelassen werden

Haltepunkte erkannt, Sie sind jedoch nicht sichtbar beim Debuggen mehrerer Prozesse in der Visual Studio-Debugger. Folgendes Szenario in dem Sie zwei Prozesse, Prozess A und Prozess b Debuggen
  1. Sie legen einen Haltepunkt auf beide Prozesse und dem Debuggen beginnen. Beide Haltepunkte werden erkannt werden.
  2. Sie beenden den Hauptthread von Prozess A, Prozess B auswählen und drücken dann F11 zu Schritt in den Befehl einmal.
  3. Sie starten den Hauptthread von Prozess A neu, und beenden Sie dann den Hauptthread von Prozess b Sie drücken dann F11 zu Schritt in den Befehl.

    Sie feststellen, dass beide Prozesse in der gleichen Zeile.
  4. Sie beenden den Hauptthread von Prozess a Keine Threads sollte an dieser Stelle angehalten werden.
  5. Drücken Sie F5, um den Vorgang fortzusetzen.
Der Prozess sollte beenden, und Visual Studio sollten zum Entwurfsmodus zurückzukehren. Dies tritt jedoch nicht auf. Die Prozesse unterbrechen später im Code.

Hinweis: Wenn Sie die Haltepunkte, entfernen Nachdem Sie F5, um den Vorgang fortzusetzen drücken, wird der Debugger ausgeführt, bis Sie abgeschlossen ist.

Visual Studio stürzt beim Debuggen mehrerer Prozesse zur gleichen Zeit

Visual Studio-Debugger kann einen Deadlock auftreten, wenn Sie starten und Sie dann einen Thread beenden und dann zum nächsten Haltepunkt ausführen, wenn mehrere Prozesse gedebuggt werden. Stellen Sie sich das folgende Szenario vor:
  1. Legen Sie Haltepunkte auf drei beliebige Variablendeklarationen.
  2. Starten des Debuggens 16 Prozesse.
  3. In einer der Prozesse unterbrechen und dann beenden Sie den Hauptthread.
  4. Sie drücken F5.
  5. Sie wiederholen Sie die Schritte 3 und 4 bis alle Prozesse der Haltepunkt erreicht haben.
  6. Starten Sie die wichtigsten Threads aller Prozesse.
  7. Für jeden Prozess Sie löschen den ersten Haltepunkt, und Sie F5 drücken.
  8. Wiederholen Sie für jeden Prozess Sie die Schritte 3 und 4. Alle Prozesse sollte am zweiten Haltepunkt.
  9. Sie drücken F5.
  10. Wiederholen Sie für jeden Prozess Sie die Schritte 3 und 4.
Alle Prozesse sollte den dritten Haltepunkt erreichen, aber mindestens ein Prozess kann gestaut im ausführenden Status.

Beim Debuggen einer systemeigenen Anwendung in Einzelschritten über einen deaktivierten Haltepunkt verwandelt in "Go"

Sie Debuggen eine systemeigene Anwendung in Visual Studio, die einen deaktivierten Haltepunkt enthält. Wenn Sie Schritt der Debugger hinter den deaktivierten Haltepunkt die verbleibenden Schritte, gehen verloren und die Anwendung weiterhin ausgeführt.

Beim Debuggen einer verwalteten Multithread-Anwendung in Einzelschritten kann in "Go" nach dem Zufallsprinzip umwandeln.

Beim Debuggen einer Multithreadanwendung verwalteten, und Sie sind Schritt in einem Thread beim Eintreten eines Ereignisses mit einem anderen Thread such as auf einen Haltepunkt Schritt Anforderung verloren. Und die Anwendung weiterhin ausgeführt.

Message Passing Interface (MPI) Debugger Updates für Visual Studio Editions MPI-Plug-in-Unterstützung anbieten

Visual Studio stürzt, wenn Sie den Befehl "Einzelschritt", verwenden um ein MPI-Programm starten

Wenn Sie den Schritt in Befehl verwenden, oder drücken Sie F11, um mehrere Instanzen eines Prozesses MPI-Debuggen stürzt Visual Studio. Oder Sie erhalten folgende Fehlermeldung:
Microsoft Visual Studio festgestellt hat und interner Fehler

Einen Deadlock führt den Befehl "Prozedurschritt" ausführen, beim Debuggen mehrerer Prozesse

Wenn Sie den Befehl Prozedurschritt beim Debuggen mehrerer Prozesse ausführen, stürzt Visual Studio. Stellen Sie sich das folgende Szenario vor:
  1. Sie öffnen eine Multithreadanwendung.
  2. Sie haben bei einem Funktionsaufruf rekursive einen Haltepunkt festlegen.
  3. Sie Debuggen, zwei Prozesse.
  4. Starten des Debuggens. Im ersten Prozess den Haltepunkt.
  5. Sie drücken F5. Haltepunkt auf den zweiten Prozess.
  6. Beenden Sie den Hauptthread der erste Prozess.
  7. Sie den Befehl Prozedurschritt auf den zweiten Prozess ausführen, und klicken Sie auf Anhalten .

    Der Vorgang kann nicht abgeschlossen werden, da der erste Prozess wartet. Sie klicken, Anhalten , um Unterbrechungsmodus erneut ein. Der Debugger verwendet einen grünen Pfeil an den nächsten Anweisung Prozess, den es ausgeführt werden, wenn von der Funktion zurückgegeben wird.
  8. Sie fügen einen Haltepunkt in den zweiten Prozess hinzu.
  9. Beenden Sie den ersten Prozess, und Sie drücken Sie F5.
Zu diesem Zeitpunkt erwarten Sie den Debugger den Haltepunkt in den einzelnen Prozessen zu erreichen. Jedoch beide Prozesse werden innerhalb der Funktion Deadlock und der Haltepunkt das zuletzt hinzugefügte wird niemals erreicht. Darüber hinaus kann nicht der Debugger an das Ende der Anwendung ausgeführt werden.

Haltepunkt Benutzeroberfläche korrigieren

Deaktivierten Haltepunkte sind nicht sichtbar, nachdem Sie Visual Studio 2008 Service Pack 1 installieren

Wenn Sie einen Haltepunkt deaktivieren, wird der Haltepunkt nicht mehr erreicht. Außerdem wird der Haltepunkt aus dem am weitesten links liegenden Editor Channel ausgeblendet. Der deaktivierte Haltepunkt ist noch vorhanden. Es wird im Fenster Haltepunkte-Tools angezeigt.

Lösung

Es ist ein unterstützter Hotfix von Microsoft erhältlich. Der Hotfix ist jedoch nur die Behebung des Problems die in diesem Artikel beschriebene vorgesehen. Installieren Sie diesen Hotfix nur auf Systemen, bei die dieses spezielle Problem auftritt. Dieser Hotfix kann einem späteren Zeitpunkt zusätzliche Tests unterzogen. Wenn durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfiehlt Microsoft daher, auf die nächste Softwareupdate zu warten, das diesen Hotfix enthält.

Um diesen Hotfix aus der MSDN Code Gallery herunterzuladen, die folgende Microsoft-Website:
http://code.msdn.microsoft.com/KB957912

Hinweis: Der MSDN Code Gallery werden die Sprachen für die der Hotfix verfügbar ist angezeigt. Wenn Ihre Sprache aufgeführt nicht angezeigt wird, ist es, da Code Gallery-Ressourcenseite nicht für diese Sprache zur Verfügung steht.

Hinweis: Wenn weitere Probleme auftreten oder wenn eine Problembehandlung erforderlich ist, müssen Sie möglicherweise eine separate Serviceanfrage erstellen. Die normalen Supportkosten gelten die für zusätzliche Supportfragen und Probleme, die für diesen speziellen Hotfix nicht qualifizieren. Eine vollständige Liste der technischen Kundendienst und Support-Telefonnummern oder eine separate Serviceanfrage erstellen die folgende Microsoft-Website:
http://support.microsoft.com/contactus/?ws=support

Voraussetzungen

Microsoft Visual Studio 2008 SP1 installiert haben, um diesen Hotfix anwenden benötigen.

Neustartanforderung

Sie müssen den Computer nach Installation dieses Hotfixes neu starten.

Ersetzte Hotfixes

Dieser Hotfix ersetzt keine anderen Hotfixes.

Dateiinformationen

Die englische Version dieses Hotfixes weist die Dateiattribute (oder höher Dateiattribute), die in der folgenden Tabelle aufgelistet werden. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Die Differenz zwischen UTC und lokaler Zeit, nach der Zeitzone Registerkarte in der Datum und Uhrzeit in der Systemsteuerung.
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
AvVsPkDH.dll9.0.30729.177325848-Nov-082: 19X 86
AvVsPkDH.dll9.0.30729.177382168-Nov-082: 19X 64
AvVsPkDH.dll9.0.30729.177750808-Nov-082: 19IA-64
AvVsPkDH.dll9.0.30729.177750808-Nov-082: 19X 86
AvVsPkDH.dll9.0.30729.177382168-Nov-082: 19X 86
AvVsPkDH.dll9.0.30729.177325848-Nov-082: 19X 86
cpde.dll9.0.30729.1776526088-Nov-082: 19X 86
mcee.dll9.0.30729.17711809928-Nov-082: 19X 86
mcee.dll9.0.30729.1776567048-Nov-082: 19X 86
mcee.dll9.0.30729.1773648648-Nov-082: 19X 86
mcee.dll9.0.30729.1773648648-Nov-082: 19X 86
mcee.dll9.0.30729.1776567048-Nov-082: 19X 64
mcee.dll9.0.30729.17711809928-Nov-082: 19IA-64
MPIShim.exe9.0.30729.177238808-Nov-082: 19X 86
MPIShim.exe9.0.30729.177238808-Nov-082: 19X 86
MPIShim.exe9.0.30729.177238808-Nov-082: 19X 86
MPIShim.exe9.0.30729.177238808-Nov-082: 19X 86
MPIShim.exe9.0.30729.177290008-Nov-082: 19X 64
MPIShim.exe9.0.30729.177546008-Nov-082: 19IA-64
msvb7.dll9.0.30729.17740871048-Nov-082: 19X 86
msvb7.dll9.0.30729.17757331848-Nov-082: 19X 86
msvb7.dll9.0.30729.17727425928-Nov-082: 19X 86
msvb7.dll9.0.30729.17740871048-Nov-082: 19X 86
msvb7.dll9.0.30729.17740871048-Nov-082: 19X 86
msvb7.dll9.0.30729.17727425928-Nov-082: 19X 64
msvb7.dll9.0.30729.17757331848-Nov-082: 19IA-64
"msvsmon.exe"9.0.30729.17799925208-Nov-082: 19X 86
"msvsmon.exe"9.0.30729.17747614168-Nov-082: 19X 86
"msvsmon.exe"9.0.30729.17732167128-Nov-082: 19X 86
"msvsmon.exe"9.0.30729.17732167128-Nov-082: 19X 86
"msvsmon.exe"9.0.30729.17747614168-Nov-082: 19X 64
"msvsmon.exe"9.0.30729.17799925208-Nov-082: 19IA-64
NatDbgDE.dll9.0.30729.17713479128-Nov-082: 19X 86
NatDbgDE.dll9.0.30729.1773141848-Nov-082: 19X 86
vsdebug.dll9.0.30729.17715849688-Nov-082: 19X 86
msvb7.dll9.0.30729.17740871048-Nov-082: 19X 86

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.

Eigenschaften

Artikel-ID: 957912 - Geändert am: Mittwoch, 4. Februar 2009 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Studio 2008 Service Pack 1
Keywords: 
kbmt kbsurveynew kbhotfixserver kbexpertiseadvanced kbqfe KB957912 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 957912
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com