Haltepunkt wird übersprungen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von KristallBaum.

    Haltepunkt wird übersprungen

    Hallo,

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Dim lst_Strings As New List(Of String)
    4. Dim int_Zähler As Integer
    5. Dim array_Personen(1) As Person
    6. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    7. Using sr As New IO.StreamReader(...)
    8. Do
    9. lst_Strings.Add(sr.ReadLine())
    10. Loop Until sr.Peek < 0
    11. End Using
    12. ReDim array_Personen(lst_Strings.Count - 1)
    13. For i As Integer = 0 To lst_Strings.Count - 1
    14. If lst_Strings(i) = "&&&&&&&&" Then
    15. int_Zähler += 1
    16. End If
    17. array_Personen(i).int_Alter = int_Zähler
    18. array_Personen(i).str_Name = lst_Strings(i)
    19. Next
    20. End Sub
    21. End Class
    22. Public Class Person
    23. Public str_Name As String
    24. Public int_Alter As Integer
    25. End Class


    Ich habe eine Textdatei, wo untereinander die Daten über Personen stehen. Diese daten möchte in mein Programm einlesen. Das Array soll für jede Person eine Spalte besitzen.
    Die Informatonen Name und Alter sollen dann in die Zeilen der Spalte der entsprechenden Person geschrieben werden.
    In der Textdatei beginnen ab der Zeile "&&&&&&&" die Daten der nächsten Person.
    Ich habe in Vb Studio neben dem Next in Zeile 26 ein Haltepunkt gesetzt, um zu sehen ob das Array so gefüllt wird, wie ich es mir erdacht habe.
    Jedoch wird der Haltepunkt übersprungen und direkt das Programmfenster geöffnet.
    Ich habe mit Option Script On geschrieben und mir wird kein Syntaktfehler angezeigt.
    Wieso wird der Haltepunkt übersprungen?

    Danke
    Versuche mal, diesen Code in einen anderen Handler als FormLoad zu verschieben, z.B. einen Buttonclick.
    Der Dubugger spinnt im Load-Event aufgrund des Contextwechselst zwischen Kernel- und Usermode rum, z.B. werden auch alle Fehlermeldungen komplett unterdrückt.

    Trade schrieb:

    Das Problem gibt es normal nur unter 64 Bit. Um Load-Event-Exceptions trotzdem auszulösen, muss man in die Program.cs bzw. Program.vb, die man in Visual Basic selbst erstellen und als Einstiegspunkt deren Main-Methode setzen muss und fügt das ein:
    ​Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);

    Dann sollten keine Fehler verschluckt werden und evtl. kann man damit ja etwas herausfinden.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    KristallBaum schrieb:

    Wieso wird der Haltepunkt übersprungen?
    Setze ihn in die 1. Zeile der Prozedur.
    Kommt er dort an?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Danke, dass im MyBase.Load Event alle Fehlermeldungen ignoriert werden wusste ich nicht.
    Ich habe den Code, wie vorgeschlagen, über einen Button Klick ausführen lassen und nun wird der Haltepunkt nicht mehr übersprungen.
    danke.