Frage

Ich habe eine Website, die ich jetzt seit etwa einem Jahr gearbeitet haben. Vor kurzem hat es begonnen, alle jetzt System.AccessViolationException werfen und dann in meiner Dev-Maschine, vor allem, wenn ich von der Maschine weg ...

Ich habe nichts auf dem Server-Code in Wochen geändert, da ich auf dem Javascript Teil 100% arbeite, und diese Fehler vor kurzem begonnen erscheinen.

Auch der Code, den ich tue, ist zu 100% geführt. Ich mache jede Interop nicht, seltsame DLLs aufrufen, nichts. Es ist reine VB.Net, so sehe ich nicht, wie ich einer von diesen zu erzeugen konnte mich ...

Jetzt habe ich für ein paar Monate, um diese neue Maschine wurde verwendet und es funktioniert nicht 100% richtig. Alle 2 oder 3 Tage erhalte ich einen blauen Bildschirm zum Beispiel. Ich habe keine Zeit gehabt, um es richtig zu diagnostizieren, aber ich zu ahnen, ich kann einen fehlerhaften RAM-Chip haben.

Ist es möglich, dass fehlerhafte RAM zu einem Access führen könnte?
Oder muss ich ein tatsächliches Problem sollte ich in suchen? (Außer meinem RAM)


UPDATE:

Ich bin nicht wirklich finden zu können, wo der Fehler auftritt, wirklich.
Ich erhalte die „nicht behandelte Ausnahme, tun Sie debuggen möchten?“ Dialog, und wenn ich den Debugger anhängen, habe ich die Themen-Liste, wo ich alle ASP.Net Threads und 3 schaffe ich mich.
Für diese 3 habe ich einen Call Stack, und sie sind alle in einem Sleep () Aufruf gestoppt (die erwartbaren ist).
Für alle anderen Themen, einschließlich der, die VS zeigt auf, wie das Problem ein, ich habe keine Call Stack haben. Ich habe auch keine Details über die Ausnahme zu löschen.

Also ich weiß nicht, ob es jedes Mal an der gleichen Stelle oder nicht.

geschieht

Wie bei memtest, ja, ich werde so etwas tun, hoffe ich nur etwas Zeit, um es bald zu tun, aber ich wollte in der Zwischenzeit wissen, ob sich dieses Problem erklären könnte.


UPDATE 2:

Sie haben diese im Ereignisprotokoll ...

Eine nicht behandelte Ausnahme aufgetreten ist, und der Prozess beendet wurde.

Application ID: DefaultDomain    
Process ID: 6632    
Exception: System.AccessViolationException

Message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

StackTrace:    at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)

Alle Ideen, was daraus zu machen?
dank
Daniel

War es hilfreich?

Lösung

Ist es möglich, dass fehlerhafter RAM zu einem Access führen könnte?

Ja, das ist möglich. Wenn die zugrunde liegenden Speicher eines Prozesses verhalten ist nicht vorhersagbar dann ja es viele verschiedene Arten von Anwendungsfehler einschließlich eines Access führen könnte.

Ist in wahrscheinlich, dass fehlerhafter RAM zu einem Access führt?

Ich würde sagen, es ist viel wahrscheinlicher, dass ein Fehler in Ihrem Programm oder Bibliothek, die Sie ist schuld nennen. Der erste Schritt jedoch ist, herauszufinden, warum oder was noch wichtiger ist, wo die Access auftritt. Versuchen Sie, einen Debugger anbringen, brechen auf AccessViolationExceptions und sehen, was tatsächlich geschieht.

Auch Vorschlag Ben Ss ist ein guter schnell den RAM Fall auszuschließen.

Andere Tipps

Wenn Sie jemals Zweifel an fehlerhaften RAM, nur laufen memtest86 .

Aber wenn der Fehler immer in dem gleichen Anruf geschieht, ist es wahrscheinlich nicht RAM.

Enthält diese nur auf Ihrer dev Maschine passieren? Wenn ja, dann fehlerhafter RAM / Festplatte (Auslagerungsdatei) ist sehr gut möglich. Sie können auch bei einer der Bibliotheken (vielleicht einer der Mutterbild DLLs) .NET Framework neu zu installieren beschädigt wurde.

Einfach gesagt:

Wenn die Fehler in verschiedenen Abschnitten des Code jedes Mal auftritt, das ist ein guter Indikator, dass etwas mit dem System als Ganze falsch ist.

Auf der anderen Seite, wenn der Fehler wiederholt in dem gleichen Stück Code auftritt, dann ist es fast sicher, dass Stück Code, das an Schuld.

Als eine vorherige Antwort erwähnt, verwendet Memtest86 +, um zu bestätigen, dass Ihr Gedächtnis gut ist oder nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top