Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi,

was passiert eigentlich mit reserviertem Speicher, offenen Filehandles usw., wenn

man ein Programm debugt und mittendrin den Debug beendet? Werden die dann

vom debugger geschlossen/ freigegeben, oder dümpeln die dann als Lecks vor sich

hin?

Gruß

Guybrush

Original geschrieben von Guybrush Threepwood

Das heist also, das wenn z.B. Windows den reservierten Speicher des Prozesses

nicht freigibt (was es ja nicht macht), bleiben evtl. Speicherlecks wenn man den

Debugvorgang vorzeitig abbricht?

Nein. Windows räumt auf, wenn ein Prozess beendet wird, d.h. belegter Heap- und Freestorespeicher wird freigegeben, offene Handles werden geschlossen, geladene DLLs entladen (wenn kein anderer Prozess darauf zugreift) usw.

Dabei ist es egal, ob der Prozess normal terminiert hat, durch Abbrechen des Debuggers "abgewürgt" oder durch den Taskmanager, eine API-Funktion oder eine unbehandelte Ausnahme "abgeschossen" wurde.

  • Autor
Original geschrieben von Klotzkopp

Nein. Windows räumt auf, wenn ein Prozess beendet wird, d.h. belegter Heap- und Freestorespeicher wird freigegeben, offene Handles werden geschlossen, geladene DLLs entladen (wenn kein anderer Prozess darauf zugreift) usw.

Wenn ich mir aber doch Speicher zur laufzeit reserviere (mit malloc oder new oder

so), dann muss ich den ja selber wieder freigeben. Wenn ich jetzt den Debugmodus

beende bevor er an der Stelle ankommt wo ich den Speicher wiederfreigebe, dann

müßte doch ein Speicherleck übrigbleiben, oder bin ich jetzt total auf dem Holzweg?

Original geschrieben von Guybrush Threepwood

Wenn ich jetzt den Debugmodus beende bevor er an der Stelle ankommt wo ich den Speicher wiederfreigebe, dann müßte doch ein Speicherleck übrigbleiben, oder bin ich jetzt total auf dem Holzweg?

Deine Memoryleaks sind doch ansich nix boeses :)

Es geht dabei ansich immer auch eher darum, dass dein Programm zur Laufzeit nicht immer weiter im Speicher anwaechst und am Ende vielleicht noch abstuerzt.

Wenns beendet wurde dann ist das egal, dann wird vom System aufgeraeumt.

(Obwohl auch das schiefgehen kann)

Original geschrieben von Guybrush Threepwood

Wenn ich mir aber doch Speicher zur laufzeit reserviere (mit malloc oder new oder

so), dann muss ich den ja selber wieder freigeben.

Und wenn du ihn nicht freigibst, dann warst halt schlampig ;)

Goos

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.