Visual Studio 2013 Profiler-Chrashes und System-Neustarts / Neustarts

2370
Wollmich

Ich habe eine HP Z440 Workstation (E5-1680v4 und 128 GB RAM, BIOS 2.39 Rev.A) und verwende Visual Studio Professional 2013 (Update 5). Das Betriebssystem ist Windows 7 64-Bit.

Wenn ich beispielsweise den Profiler von Visual Studio in einem C # -Projekt verwende, stürzt er ab und startet / startet meinen PC neu.

Die folgenden Schritte reproduzieren das Problem:

  1. Starten Sie den PC und öffnen Sie Visual Studio
  2. Erstellen einer C # -Konsolenanwendung (.NET 4.0)
  3. In Console.WritLine("Hello World :-(");zur Hauptmethode.
  4. Menü / Analysieren / Leistung und Diagnose.
  5. CPU-Sammlung.
  6. Wählen Sie HelloWorldzum Beispiel das Projekt aus.
  7. Alle zum Erstellen einer Leistungssitzung erforderlichen Informationen wurden erfasst.
  8. Klicken Sie auf Finish( Lunch profiling after the wizard finishesangekreuzt).
  9. Klicken Sie im folgenden Dialog auf Ja. enter image description here
  10. Windows fragt nach Administratorberechtigungen, die ich ihm zur Verfügung stellen kann. enter image description here
  11. Ich kann für eine zweite Registerkarte (* .vsp) sehen Start the profiler. Danach stürzt der PC ab und startet / rebootet neu .

Ich sehe nach dem Neustart einen kritischen Fehler im Systemprotokoll:

Das System wurde neu gestartet, ohne dass es zuvor ordnungsgemäß heruntergefahren wurde. Dieser Fehler kann auftreten, wenn das System nicht mehr reagiert, abgestürzt ist oder unerwartet die Stromversorgung verloren hat.

Irgendwelche Ideen, was passiert? Letztes Jahr (2017) konnte ich den Profiler von Visual Studio 2013 auf demselben PC verwenden. Die einzigen Dinge, die geändert wurden, waren Windows-Updates und das BIOS (do Meltdown and Spectre).

Was kann ich tun, damit ich meinen Code erneut profilieren kann?

5
Das Downgrade des BIOS von V2.39 auf V2.38 hat das Problem nicht gelöst. Der Profiler stürzt immer noch den PC ab (schwarzer Bildschirm und Neustart). Wollmich vor 6 Jahren 0
Es passiert auch auf meinem Laptop und einem alten HP 8540w (i7 Q740, 16 GB RAM, Windows 7 64-Bit und Visual Studio 2013 Pro). Es war im letzten Jahr auch gut an diesem Computer zu arbeiten. Seitdem wurden nur Windows-Updates installiert. Wollmich vor 6 Jahren 0
Ich kann den Absturz auch auf einem HP 8300 CMT (i7 3770, 8 GB RAM, Windows 7 64-Bit und Visual Studio 2013) reproduzieren. Es hat letztes Jahr auch auf diesem Computer funktioniert. Ich denke, dieser Absturz hängt nicht von der Hardware ab. Gibt es andere Leute, die das gleiche Problem haben? Wollmich vor 6 Jahren 0

2 Antworten auf die Frage

5
aap

Vor kurzem stellte MS Registrierungseinstellungen zur Verfügung, um die Specter / Meltdown-Patches zu deaktivieren. Wenn das Sicherheitsprofil Ihrer Entwicklungsumgebung mit dem Deaktivieren dieser Patches leben kann, können diese Einstellungen den Profiler wieder verwenden:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f  reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f 

Starten Sie den Computer neu und der Profiler sollte wieder funktionieren.

Quelle: https://support.microsoft.com/de-de/help/4073119/protect-against-speculative-execution-side-channel-vulnerabilities-in

Vielen Dank. Es hat es versucht und es hat funktioniert. Nachdem Sie diese beiden Registrierungseinstellungen festgelegt haben, stürzt das System nicht mehr ab und der Profiler von Visual Studio 2013 funktioniert wieder unter Windows 7. Die Spectre / Meltdown-Patches sind jedoch deaktiviert. Ich denke, es ist besser, endlich auf Windows 10 und Visual Studio 2017 zu wechseln. Wollmich vor 6 Jahren 0
Einverstanden. OTOH für mich ist die unter Win7 bereitgestellte Automatisierungsunterstützung von entscheidender Bedeutung. Die Befehlszeilentools, die für die Profilerstellung unter Win10 bereitgestellt werden, machen es viel schwieriger, nach Abschluss des Profillaufs etwas passieren zu lassen. Also bewege ich mich noch nicht, zumindest auf einem Laborgerät, wo ich keine E-Mails lese. aap vor 6 Jahren 0
3
Wollmich

Dies wird durch die Januar-Windows-Updates verursacht. Es sieht so aus, als würde dies nicht behoben werden, siehe die folgenden Kommentare von Allen Denver:

Es tut mir sehr leid, dass dieses Problem auftritt. Ein kürzlich veröffentlichter Sicherheitspatch für Windows 7 (der Sicherheitspatch "Meltdown / Spectre") bewirkt, dass alle Versionen des Visual Studio Performance Wizard und des Befehlszeilen-Dienstprogramms VSPerfCMD im Sampling-Modus den Computer ohne Warnungs- oder Ereignisprotokolleinträge neu starten. Dieses Problem betrifft nur das Sampling, wenn es zum Sammeln von CPU- oder .Net-Speicherzuordnungsstapeln verwendet wird. Der Instrumentierungsmodus ist nicht betroffen. Ebenso ist der Contention-Modus nicht betroffen. Von Windows 8+ unterstützte Profilierungsvorgänge sind ebenfalls von diesem Problem nicht betroffen.

Die Ursache dieses Problems liegt darin, dass zuvor vom Sampling-Profiler unterstützte Vorgänge nach dem Sicherheitspatch nicht mehr zulässig sind. Der Sicherheitspatch, der im Betriebssystemkern von Windows 7 geändert wurde, ist so, dass der von uns verwendete Low-Level-Code zum Erfassen von Daten den Computer neu startet. In diesem Fall werden keine Bluescreen- und keine Ereignisprotokolleinträge vorgenommen. Das Problem tritt sogar niedriger auf als diese Möglichkeiten des Betriebssystems. Diese Ursache ähnelt den Änderungen, die in Windows 8 am Windows-Betriebssystem-Kernel vorgenommen wurden. Dies hat uns veranlasst, den Visual Studio Profiler erheblich zu ändern, um die Sampling-Profiling-Daten mit verschiedenen Verfahren zu erfassen. Windows 8 hat die in Windows 7 verwendete Auflistungstechnik nicht zugelassen. Mit dem Sicherheitspatch lässt Windows 7 diese Technik jetzt auch zu.

Glücklicherweise gibt es einige Problemumgehungen, die ich empfehlen kann. Diese Problemumgehungen sind nicht perfekt. Es gibt Einschränkungen, von denen wir hoffen, dass wir sie in Zukunft schnell angehen können, um die Lücken zu füllen. Diese können jedoch genutzt werden, um zumindest einige Leistungsprofile durchzuführen, während wir daran arbeiten, diese Lücken zu füllen.

Ich habe ein umfangreiches Dokument, an dem ich arbeite, das die Problemumgehungen detailliert beschreibt. Es ist zu lang für einen einzelnen Beitrag hier. Ich werde es in mehreren Antworten auf diesen Eintrag aufteilen. Ich werde auch einen Link zu dem einzelnen Dokument posten, wenn ich einen Platz im Web habe.

Allen Denver

Visual Studio

und

Wir beabsichtigen, einen Patch zu veröffentlichen, der das Neustartverhalten verhindert, indem die Sampling-Collection-Sitzung nicht gestartet wird. Dies ist jedoch kein "Fix". Wir haben nicht vor, den Performance Explorer, den Performance Wizard, das VSPerfASPNetCMD- oder das VSPerfCMD-Sampling unter Windows 7 zum Laufen zu bringen.

Quelle: https://developercommunity.visualstudio.com/content/problem/177958/starting-the-profiler-leads-to-computer-restart-af.html

Problemumgehung 1

Für Windows 7 und Visual Studio 2013 gibt es keine gute Lösung, siehe Kommentar von Allen Denver:

Für VS2013 und frühere Versionen von Visual Studio können Sie stattdessen die Instrumentation-Methode für die Profilerstellung verwenden.

Sie können den CPU-Sampling-Modus daher nicht mehr mit Windows 7 und Visual Studio 2013 verwenden.

Problemumgehung 2

Ich denke, der Wechsel zu Windows 10 und Visual Studio 2017 ist der richtige Weg, siehe auch den Kommentar von Allen Denver:

Der Performance Wizard und das Performance Explorer-Profiling in Visual Studio 2017 mit der Sampling-Technik funktionieren unter Windows 10. Im Fall von Windows 8+ haben wir den Collector so geändert, dass er Stack-Traces mit einem anderen Satz von Betriebssystemfeatures anstelle unseres eigenen Kernels erhält Treiber.

Sie sollten die aktuelle Problemumgehung für dieses Problem angeben. Ramhound vor 6 Jahren 0
Dies ändert jedoch nichts an der Tatsache, dass Sie die aktuelle Problemumgehung berücksichtigen sollten. Ramhound vor 6 Jahren 0