vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
FatalExecutionEngineError 
Autor: MikeJ
Datum: 28.04.11 15:48

Hallo zusammen,

ich habe in meiner Anwendung seit gestern das Problem, dass ich immer häufiger einen FatalExecutionEngineError erhalte:
FatalExecutionEngineError wurde erkannt.
Message: Die Laufzeit hat einen schwerwiegenden Fehler entdeckt. Fehleradresse: "0x5ab06433" in Thread "0x215c". Fehlercode: 0xc0000005. Bei diesem Fehler könnte es sich um ein Problem in der CLR oder in den unsicheren oder nicht verifizierbaren Teilen des Benutzercodes handeln. Übliche Ursachen dieses Bugs sind Marshallerfehler für COM-Interop oder PInvoke, die den Stapel beschädigen können.


Leider ist es mir rätselhaft, wie es dazu kommt. Der Fehler tritt an unterschiedlichen stellen im Programm auf, an welchen ich seit Wochen nichts mehr im Code geändert habe, beispielsweise hier
Public Function Bin2BoolArray(ByVal Bin As String, Optional ByVal Lenght As _
  Integer = 0) As Boolean()
        If Lenght = 0 Then Lenght = Bin.Length
        Dim RetVal(Lenght - 1) As Boolean
        Dim i As Integer = 0
        For Each c As Char In Bin
            RetVal(i) = c = "1"
            i += 1
        Next
        Return RetVal
    End Function
in der Zeile RetVal(i) = c = "1", aber auch in anderen Routinen, die z.B. nur einen Text an eine RichTextBox anhängen sollen:
Public Sub AddLog(ByVal Text As String)
            LogText &= Format(Now, "HH:mm:ss.fff") & "   " & Text & vbCrLf
            If chkAutoScroll.IsChecked Then
                rtbLogs.Text = LogText
                rtbLogs.ScrollToEnd()
            End If
 
            Dim OperandEnum As IEnumerator = LogText.GetEnumerator
            Dim iLines As Integer = 0
            While OperandEnum.MoveNext
                If OperandEnum.Current.Equals(CChar(vbCrLf)) Then iLines += 1
            End While
 
            'ab der 1500. Zeile beginnen abzuschneiden
            If iLines > 1500 Then
                LogText = LogText.Remove(0, LogText.IndexOf(vbCrLf) + 2)
            End If
    End Sub
hier in der Zeile rtbLogs.ScrollToEnd().

Das Einzige, was diese Aufrufe gemeinsam haben: Sie werden teils bis zu 60mal pro Sekunde und von verschiedenen Threads aufgerufen. Ich denke, dass auch hier die Ursache dafür liegt, verstehe aber nicht warum, und wieso ging es jetzt wochenlang gut?

Vielen Dank für Eure Hilfe
Gruß Mike
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
FatalExecutionEngineError1.647MikeJ28.04.11 15:48
Re: FatalExecutionEngineError1.105ModeratorFZelle28.04.11 17:18
Re: FatalExecutionEngineError1.120MikeJ28.04.11 19:59
Re: FatalExecutionEngineError1.051ModeratorFZelle29.04.11 09:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel