Ein hängender Zeiger (engl. dangling pointer) bezeichnet in der Informatik einen Zeiger, der einen ungültigen Wert enthält und dadurch auf einen nicht vorhandenen oder nicht dem Zeiger zugeordneten dynamischen Speicherbereich (auch Heap genannt) verweist. Hängende Zeiger kommen oft dadurch zustande, dass sie nicht initialisiert wurden (in dem Fall alternativ wilde Zeiger genannt) – aber auch dadurch, dass sie auf einen Speicherbereich verweisen, der bereits freigegeben wurde. Hängende Zeiger können für den Programmlauf unvorhersehbare Auswirkungen haben und das Programm zum Absturz bringen.

Property Value
dbo:abstract
  • Ein hängender Zeiger (engl. dangling pointer) bezeichnet in der Informatik einen Zeiger, der einen ungültigen Wert enthält und dadurch auf einen nicht vorhandenen oder nicht dem Zeiger zugeordneten dynamischen Speicherbereich (auch Heap genannt) verweist. Hängende Zeiger kommen oft dadurch zustande, dass sie nicht initialisiert wurden (in dem Fall alternativ wilde Zeiger genannt) – aber auch dadurch, dass sie auf einen Speicherbereich verweisen, der bereits freigegeben wurde. Hängende Zeiger können für den Programmlauf unvorhersehbare Auswirkungen haben und das Programm zum Absturz bringen. Während Userspace-Programme in der Regel bei einer Dereferenzierung eines Zeigers, der auf einen ungültigen Speicherbereich zeigt, beendet werden, kann ein solcher im Kernel bzw. dessen Modulen schlimmstenfalls das gesamte System beschädigen, ohne dass der Benutzer etwas bemerkt, bevor es zu spät ist, da keine Kontrollinstanz vorhanden ist, die z. B. das Überschreiben von fremdem Code verhindern könnte. Daher ist bei der Kernel- und Treiber-Entwicklung besonders auf die korrekte Verwendung zu achten. Die Unvorhersehbarkeit rührt daher, dass ein Zugriff auf einen bereits freigegebenen Speicherbereich nicht zwangsläufig sofort einen Laufzeitfehler (Schutzverletzung) auslöst, da zwischen der Speicherfreigabe durch den Programmierer und der tatsächlichen Freigabe durch das Laufzeitsystem noch eine gewisse Zeit vergehen kann. Findet in dieser (unvorhersagbaren) Zwischenzeit noch ein Zugriff auf den freigegebenen Speicher statt (Zeilen (*) im Beispiel), so löst er keinen Fehler aus. Da dies aber nicht reproduzierbar ist, sind diese sporadischen Fehler besonders schwer zu entdecken. (de)
  • Ein hängender Zeiger (engl. dangling pointer) bezeichnet in der Informatik einen Zeiger, der einen ungültigen Wert enthält und dadurch auf einen nicht vorhandenen oder nicht dem Zeiger zugeordneten dynamischen Speicherbereich (auch Heap genannt) verweist. Hängende Zeiger kommen oft dadurch zustande, dass sie nicht initialisiert wurden (in dem Fall alternativ wilde Zeiger genannt) – aber auch dadurch, dass sie auf einen Speicherbereich verweisen, der bereits freigegeben wurde. Hängende Zeiger können für den Programmlauf unvorhersehbare Auswirkungen haben und das Programm zum Absturz bringen. Während Userspace-Programme in der Regel bei einer Dereferenzierung eines Zeigers, der auf einen ungültigen Speicherbereich zeigt, beendet werden, kann ein solcher im Kernel bzw. dessen Modulen schlimmstenfalls das gesamte System beschädigen, ohne dass der Benutzer etwas bemerkt, bevor es zu spät ist, da keine Kontrollinstanz vorhanden ist, die z. B. das Überschreiben von fremdem Code verhindern könnte. Daher ist bei der Kernel- und Treiber-Entwicklung besonders auf die korrekte Verwendung zu achten. Die Unvorhersehbarkeit rührt daher, dass ein Zugriff auf einen bereits freigegebenen Speicherbereich nicht zwangsläufig sofort einen Laufzeitfehler (Schutzverletzung) auslöst, da zwischen der Speicherfreigabe durch den Programmierer und der tatsächlichen Freigabe durch das Laufzeitsystem noch eine gewisse Zeit vergehen kann. Findet in dieser (unvorhersagbaren) Zwischenzeit noch ein Zugriff auf den freigegebenen Speicher statt (Zeilen (*) im Beispiel), so löst er keinen Fehler aus. Da dies aber nicht reproduzierbar ist, sind diese sporadischen Fehler besonders schwer zu entdecken. (de)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 408088 (xsd:integer)
dbo:wikiPageRevisionID
  • 153221846 (xsd:integer)
dct:subject
rdfs:comment
  • Ein hängender Zeiger (engl. dangling pointer) bezeichnet in der Informatik einen Zeiger, der einen ungültigen Wert enthält und dadurch auf einen nicht vorhandenen oder nicht dem Zeiger zugeordneten dynamischen Speicherbereich (auch Heap genannt) verweist. Hängende Zeiger kommen oft dadurch zustande, dass sie nicht initialisiert wurden (in dem Fall alternativ wilde Zeiger genannt) – aber auch dadurch, dass sie auf einen Speicherbereich verweisen, der bereits freigegeben wurde. Hängende Zeiger können für den Programmlauf unvorhersehbare Auswirkungen haben und das Programm zum Absturz bringen. (de)
  • Ein hängender Zeiger (engl. dangling pointer) bezeichnet in der Informatik einen Zeiger, der einen ungültigen Wert enthält und dadurch auf einen nicht vorhandenen oder nicht dem Zeiger zugeordneten dynamischen Speicherbereich (auch Heap genannt) verweist. Hängende Zeiger kommen oft dadurch zustande, dass sie nicht initialisiert wurden (in dem Fall alternativ wilde Zeiger genannt) – aber auch dadurch, dass sie auf einen Speicherbereich verweisen, der bereits freigegeben wurde. Hängende Zeiger können für den Programmlauf unvorhersehbare Auswirkungen haben und das Programm zum Absturz bringen. (de)
rdfs:label
  • Hängender Zeiger (de)
  • Hängender Zeiger (de)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is foaf:primaryTopic of