Debugging-Settings in Visual-Studio bzw. Visual-Studio Code.

  • C#

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von SpaceyX.

    Debugging-Settings in Visual-Studio bzw. Visual-Studio Code.

    Hey Leute,

    ich hab jetzt länger nicht mit C#, bzw. .net gearbeitet. Wenn dann nur kleine Sachen. Den Rest der Zeit habe ich mit Webanwendungen verbracht.

    Letzte Woche habe ich dann eine Idee für eine Desktopanwendung gehabt und mich hingesetzt. Nun ist mir aufgefallen, dass "externer Code" aus einer meiner .dlls nicht mehr debugged wird. Sprich, der Debugger springt nicht mehr in die Functions der .dll. Dies passiert in Visual-Studio und auch in VS-Code.

    Setzte ich das Flag "JustMyCode" auf False, so werden die externen Functions wieder aufgefrufen, jedoch werden auch alle zugehörigen Zeilen aus dem Framework angesprungen. Dies ist sehr störend.

    Also muss es irgendwo ein Update gegeben haben, das dieses Verhalten auslöst. Ich weiß, vor ein paar Monaten war dies anders. Es war möglich, den eigenen Code, bzw. den Code aus eienr externen .dll zu debuggen.

    Hat irgendwer eine Idee, was man hier einstellen muss? Ich arbeite mit .net 8, Visual-Studo 2022 und VS-Code. Alles up-to-date.

    Vielen Dank!
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Es müsste eigentlich funktionieren, wenn die DLL- und die PDB-Datei im selben Verzeichnis sind und der Verweis auf eben diese DLL zeigt. Wenn ich meine Apps laufen lasse, springt bei Fehlern der Debugger in die entsprechende DLL-Zeile, auch wenn das DLL-Projekt nicht Teil der Projektmappe ist.
    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

    Ja, das hat es auch bis vor einiger Zeit. Ich hab nichts anderes gemacht, als einen Verweis auf meine .dl zu setzen (die .pdb-Datei ist auch im selben Ordner) und gut wars. Jetzt springt er zwar die Zeilen in der .dll an, aber ebenso den ganzen Müll, der mit dem Framework kommt. Ich hab die letzten Tage echt lange gesucht und alles probiert, was man so findet, aber alles hat nichts geholfen. Ich werde mal alles deinstallieren und neu machen. Das regt mich auf.

    Danke derweil.

    Edit: Die Neuinstallation hat auch nix gebracht. Jedoch hab ich Folgendes festgestellt. Im Ordner "Release\net8.0" im .dll-Project ist ein Weiterer Ordner "publish". Nehme Ich die .dll aus dem "publish"-Ordner, scheint es so zu funktionieren, wie ich es möchte. Ich hab keinen Plan warum. Die Dateien sind identisch. Naja. Ich hoffe, das war die Lösung für das Problem.

    Vielen Dank an Euch Zwei :)

    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

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

    @SpaceyX Hast Du die DLL als Datei oder das Projekt der DLL Deinem GUI-Projekt als Verweis hinzugefügt?
    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!
    Hey @RodFromGermany

    Die .dll wird als Verweis hinzugefügt. Dependencies -> Add reference -> Browse.

    Also, ich setzte keinen Verweis auf das .dll-Project.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    @SpaceyX Nach meinem Kenntnisstand, entgegen der Aussage von @VaporiZed sorgt die PDB lediglich dafür, dass bei einer Exception im Main-Thread ein qualifizierter StackTrace erstellt und angezeigt wird.
    Ansonsten arbeite ich, so ich über die Quellen verfüge, immer mit einem angehängten DLL-Projekt.
    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!
    @RodFromGermany Ich glaub, ich habe mir auch einen recht verwirrenden Workflow angeeignet. Ich arbeite vornehmlich mit VS-Code, da ich, wenn ich mit .net was mache, eigentlich nur Awendungen habe, die mit einer Konsole auskommen. Nur eben jetzt hab ich eine Desktop-Anwendung und mir ist kei Designer für VS-Code bekannt. Ist einfach besser mit Visual-Studio. Das heißt, das .dll-Project ist in VS-Code geöffnet und ich passe Sachen an, wenn ich Fehler finde oder neue Features hinzufüge.

    Ist auch egal, ich werds so machen, wie vorgeschlagen. Mich hat es nur genervt, weil es vor einiger Zeit noch anders war und ich nichts anders gemacht habe, wie die Jahre zuvor. Also, irgendwo muss es da eine Änderung gegeben haben.

    Vielen Dank an Euch!
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o