Laden...

Sehe nur mit Breakpoints Ausgaben auf der Console

Erstellt von Gerri3d vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.036 Views
G
Gerri3d Themenstarter:in
57 Beiträge seit 2017
vor 7 Jahren
Sehe nur mit Breakpoints Ausgaben auf der Console

Hallo, wenn ich nicht mit breakpoints arbeite, dann sehe ich keine Werte [ Console.Writeline(string) ] auf der C# Konsolenausgabe. Wieso ist das so?

16.842 Beiträge seit 2008
vor 7 Jahren

So pauschal ist das nicht so.
Auch mit Breakpoints funktioniert jede Ausgabe; ausser natürlich der Breakpoint stoppt die Anwendung bevor die Ausgabe erfolgt....

Bisschen mehr Infos wären schon praktisch.
Keiner hier sieht Deine Anwendung oder das, was Du machst... gibt noch keine Hellseher.

G
Gerri3d Themenstarter:in
57 Beiträge seit 2017
vor 7 Jahren

es ist nur schwer es zu erklären.

Ich bekomme Daten über "MemoryMappedFile" und will diese auf der Konsole ausgeben.
nur ist der String eben ller. Ausser bei einem Breakpoint.

Aufgerufen wird das mit

While(true)
{..}

wenn ich breakpoints setze, dann kann ich die Daten in den Varaiblen sehen. AUch die Konsolenausgabe passt. Nur ohne Breakpoints eben nicht.

2.080 Beiträge seit 2012
vor 7 Jahren

Das liegt dann aber nicht an den Breakpoints direkt

Spontan fällt mir nur eine mögliche Erklärung ein:
Du lädst unabhängig irgendwelche Daten, was eben Zeit kostet.
Ohne Breakpoint "rennt" das Programm direkt zur Ausgabe, die Daten konnten aber noch nicht geladen werden.
Mit Breakpoint bleibt auf einmal deutlich mehr Zeit und die Daten können geladen werden.

Das könnte nur einer von zahllosen Gründen sein.
So ohne weitere Infos oder relevanten Code bleibt das aber ein Ratespiel.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.

G
Gerri3d Themenstarter:in
57 Beiträge seit 2017
vor 7 Jahren

da könnte etwas drann sein. Ich hole die Daten mit


 // Open a mapped file with read access and one with write access. 
            using (var mmfRead = MemoryMappedFile.CreateOrOpen("_CODESYS_SharedMemoryTest_Write", dataSIze))
            using (var accessorRead = mmfRead.CreateViewAccessor(0, dataSIze, MemoryMappedFileAccess.Read))
                            
            // Read the structure
            accessorRead.Read(0, out dataExchangeReadTmp);