Mit Anwendungsframework keine gescheite Stapelspeicherzurückverfolgung?

  • VB.NET
  • .NET (FX) 4.0

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

    Mit Anwendungsframework keine gescheite Stapelspeicherzurückverfolgung?

    Hallo zusammen,

    mich beschäftigt da eine Frage, denn ich hatte gestern das Problem, dass mein Programm immer gecrasht ist und das ohne Zeilenangabe, sodass ich nur mühsam durchprobieren und vermuten konnte.
    Nach ein wenig klicken habe ich dann das Anwendungsframework deaktiviert und meine eigene Main-Sub in der selbst erstellten Program.vb erstellt, diese nun ausgeführt, dann wurde die Form instanziiert, angezeigt und dann kam die Exception. Das Komische dabei ist, dass er dieses mal in die genaue Zeile des Problems gesprungen ist und ich das Problem nun ausfindig machen konnte.

    Warum geht dies mit Standardeinstellungen in VB mit einer Form als Startformular nicht und mit einem eigenen Einstiegspunkt als Startobjekt schon? Freue mich auf Antworten von VB-Kennern :D.
    Aber jetzt auf zur Schule.
    #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 :!:
    @Trade Mach mal gezielt Try / Catch-Blöcke um interessanten Code. Das macht das Anwendungsframework an einigen Stellen nämlich auch und ignoriert die Exceptions bzw. behandelt sie blöd.
    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!

    Trade schrieb:

    habe ich dann das Anwendungsframework deaktiviert und meine eigene Main-Sub in der selbst erstellten Program.vb erstellt, diese nun ausgeführt, dann wurde die Form instanziiert,
    Echt? Also wenn das zuverlässig funzt - Super-cool!
    Da hätte man nu endlich einen zuverlässigen Workaround für dieses äußerst unerfreuliche Fehlverhalten.

    Ich weiß nun nicht genau, was das AnwendungsFramework alles leistet, aber gelegentlich gewann ich den Eindruck, dasses so unentbehrlich garnet ist - also mit paar Zeilen Code bequem ersetzlich. Aber vlt. meldet sich ja noch einer, der zwingende Pros für AF weiß (ausser dasses halt voreingestellt ist).
    Ich bin mir nicht sicher ob das dein Problem ist, aber falls dein Problem sein sollte das exceptions in bestimmten Teilen von Forms anwendungen nicht richtig behandelt werden und das programm sich einfach schließt, zB im form_load event handler liegt das am Framework selber

    This is a known issue on 64-bit OS platform. The reason is that the 64bit OS core does not allow user mode exception through kernal mode stacks. The exception is swallowed by OS sliently. That happens in FormLoad handler, because it is called in an OS callback. 32bits OS doesn't do this, so it doesn't repro there.

    The OS team is investigating related issues. In the mean time, you do have to work around this issue. Turning on "Stop on first chance exception" will make the debugger to stop in this scenario. But it does make the debugger to stop very often, so you might want to do this only when you find a problem.

    connect.microsoft.com/VisualSt…bugging-in-vb2008-express

    falls das nicht dein problem ist, ignorier meinen post ;)
    @RodFromGermany Das Problem bei mir war, dass ich direkt außerhalb jeglicher Events einen FileSystemWatcher deklariert und instanziiert habe, wobei es zu einer Exception kam. Von daher war das mit Try-Catch hier nicht möglich, außer ich hätte diese Arbeit erst in einer Sub oder dergleichen erledigt.

    @tolio Interessant, ich arbeite auf 64 Bit und der Kontext würde auch zutreffen. Danke für die Info, das scheint es zu sein.
    #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 :!:

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