"Memorybreakpoint"
-
Hm, das tut leider nicht so, wie es soll

Gibt es denn keine Möglichkeit, wirklich eine Adresse zu überwachen?
Ich hab nämlich das Problem, dass mir eine Variable überschrieben wird (irgendwo wird über die Grenze geschrieben in fremden Speicher) und ich diese Stelle finden muss ...
-
Du mußt als Variable "*(int *)address" angeben....
-
Tut leider auch nciht ...
Die Variable wird "irgendwo" überschrieben, aber es wird nciht gebreakt
-
hum hum....
ändert sich die Adresse der Variable? einfach mal "&x" im Debugger anschauen
(klingt blöd, aber es gibt so Fälle....)
-
Ne, ändert sich net. War auch meine erste Vermutung ...
Ich hab hier irgendwo nen ganz groben Speicherfehler
Es werden nämlich mindestens 25 Byte überschrieben.Ich hab hier ne Klasse von CWnd abgeleitet. Die wird schön initialisiert. Irgendwann (<- genau dieses "irgendwann", das ich suche) wird dann mitten in den Speicherbereich der Klasse geschrieben. Und dabei werden einige Member überschrieben. z.B das m_hWnd, das m_pCtrlCont und eben auch Member meiner abgeleiteten Klasse ...
Ich weiss immerhin, dass dieses "irgendwann" nach CMainFrame::OnCreate liegen muss ... Aber das ist leider auch schon alles
-
hab mal n pdf dazu geschrieben
vielleicht hilfts
-
Das ist putzig.
Memory Breakpoints sind oft laaangsam, aber funktionieren eigentlich recht gut.
btw. es reicht tatsächlich die Adresse anzugeben...
-
was heisst hier putzig
-
ok, dank dem PDF tut der breakpoint jetzt. nur bringt mich das leider net weiter, weil ich da in der AfxCallWndProc lande ... toll :|
-
Aufrufliste/Callstack bringt dich auch nicht weiter?
-
Ne. Ich hab rausgefunden, dass es an ienem bestimtem WM_TIMER lag ...
Hab den rausgenommen und anders gelöst ... Weiss zwar immer noch net, was da falsch lief, aber immerhin tuts jetzt und alles andere is mir jetzt egal.