Automatisch die nächste Anweisung festlegen?

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Automatisch die nächste Anweisung festlegen?

    Guten Abend,

    bietet das Visual Studio 2019 eine Möglichkeit, um automatisch die nächste Anweisung festzulegen und den Code dort fortzusetzen? Ich kenne nur die manuelle Lösung, die kann aber wirklich anstrengend werden, wenn man diesen Vorgang oft wiederholen muss. In meinem Beispiel möchte ich von dem aktiven Haltepunkt zu dem noch inaktiven Haltepunkt springen.

    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    @EaranMaleasi - Danke Dir erstmal für Deine Antwort.

    Das weiß ich schon, der Code soll aber nicht ausgeführt werden. Ich möchte es so haben, dass die aktuelle Anweisung immer automatisch an meine gewünschte Stelle springt, ohne dass ich das manuell machen muss.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Den Sinn des Unterfangens fände ich ... interessant. hab noch nie sowas gebraucht. Und wäre gespannt, wofür man sowas brauchen könnte. Grundsätzlich gibt es natürlich das bitte-verwende-es-niemals-GoTo, aber während des Debuggens? Wozu?!?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @VaporiZed

    Dann muss ich nicht den ganzen Code auskommentieren (nicht immer eine Option, da ich den Zwischencode eventuell auch mal ausführen muss). Ich füge Objekte zu einer Liste hinzu die ich erstmal an einer anderen stelle im Code überprüfen (mit ein paar anderen Sachen, aber ganz einfach gesagt) muss ohne den Zwischencode auszuführen, da dieser sonst Daten manipulieren und/oder meine Anwendung zum Absturz bringen kann. Ich habe schon geschaut ob ein Haltepunkt so eingestellt werden kann, leider ohne Erfolg.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Vultrax“ ()

    Ich versteh aber das ganze Vorhaben nicht. Wenn Du Testphasen hast, in denen die Test2-Sub im Weg ist, dann mach doch die Testphase ohne Test2 und eine mit Test2. Vielleicht ist das ganze auch zu abstrakt, um da ne bessere Lösung zu geben als di, die Du suchst.
    Oder machen wir es so: Unter welchen Voraussetzungen entscheidest Du am Haltepunkt, ob Test2 ausgeführt werden soll oder nicht?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @VaporiZed

    Das kann ich ja leider nicht, da ich den Sub (wie in dem Beispiel) eventuell aufrufen muss. Mein richtiger Code ist auch zu groß und komplex um ihn einfach mal so auszukommentieren und/oder für das Debugging zu ändern.
    Der Code wird ausgeführt wenn (ein) bestimmte(s) Verhalten, Daten und Werte vorhanden sind, was dynamisch ist und ich dann nach Situation entscheiden muss was passieren soll.
    Ich denke dann mal nicht, dass es im Moment eine Möglichkeit gibt wie von mir gewünscht, aber vielleicht in der Zukunft. Ich werd's mir mal mit GoTo anschauen, vielleicht kann ich ja was machen.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Vultrax“ ()

    @Vultrax Wenn ich die Ansteuerung von Hardware entwickle und keine Hardware habe, mach ich im DEBUG-Compilerschalter ne MessageBox und frage, ob die Hardware als initialisiert angenommen werden soll.
    Nein - Hardware nicht vorhanden
    Ja - Hardware wird simuliert, da kann man ggf. noch ne DEBUG-Variable setzen.
    Und ggf. ein

    VB.NET-Quellcode

    1. If CONDITION Then
    2. If Debugger.IsAttached Then
    3. Debugger.Break()
    4. End If
    5. End If
    ist da auch nützlich.
    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!
    Du hast also Code, den du im Normalfall nicht ausführen willst, aber manchmal eben doch.

    Visual Basic-Quellcode

    1. i = 1 'Breakpoint here
    2. if False Then
    3. i += 1 'Sonderfall
    4. End If
    5. j = i
    Wenn du in Zeile 1 bei deinem Breakpoint bist, kannst du entscheiden, ob du normal weitermachst (mit F5)
    oder du den Line-Pointer in den If-Block rein ziehst und dann F5 drückst.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --