Announcement

Collapse
No announcement yet.

Bad food

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bad food

    Hi Leute,
    grad ist mir meine Anwendung (im Debugger) in "TObject.Free" weggesemmelt.<br>
    Daraufhin wollte ich mir "self" ansehen -- geht nicht wegen Optimierung.<br>
    Ich tippe mal so versuchshalber Pointer(EAX) ins Überwachungsfenster ein
    und siehe da: ich kriege $BADF00D zu sehen. Ist das nun Zufall oder hat da
    irgendjemand "bad food" als Fehlermarkierung reingeschrieben???<br>
    Ich hab z.B. schonmal von "dead beef" ==> $DEADBEEF gelesen.
    Weiß da jemand was drüber?
    <p> Ciao, Uli.
    <p><p>(Falls es interessiert: ich benutze D5 Pro mit Update Pack 1)

  • #2
    :v)<br>
    BADF00D = 1011101011011111000000001101 = 195948557 <br>
    DEADBEEF = 11011110101011011011111011101111 = 3735928559 <br&gt

    Comment


    • #3
      Du vermutest richtig. Das sind Markierungen. $DEADFACE kommt auch vor

      Comment


      • #4
        Ebenso wie $DEADBABE (Quellcode von Gothic)

        Gruß Nic

        Comment


        • #5
          naja, dann gibts auch $BABEFAC

          Comment


          • #6
            Die Idee hinter solchen Werten ist es das der zugehoerige Speicherbereich hoechstwahrscheinlich nicht zugreifbar ist und es daher beim Zugriff kracht. Die lesbare Form erlaubt es die verschiedenen Delphi-Versionen zu erkennen

            Comment


            • #7
              Danke für eure Antworten!
              <p>
              Ich hab mal im Delphi-Source-Verzeichnis nach "badf00d" und dem Dezimaläquivalent
              gesucht, bin aber nicht fündig geworden.<br>
              Seh ich das richtig, dass für solcherlei Späße der Memory manager verantwortlich ist,
              der dann um jeden Block, den ich mich GetMem & Co. alloziere, ein paar Bytes
              als Sicherheitspuffer markiert?<br&gt

              Comment

              Working...
              X