<br><p>another question about debug information:</p><p>while debugging with gdb, i have found that object methods are 'mapped' to the debugger (or debug information?) as functions with additional parameter 'self' (what they actually are),</p>
<p>so let's say, i have an object m: TMyObject with method procedure MyMethod;</p><p>while gdb, does not understand the syntax, m.MyMethod, method still can be called with TMYOBJECT_MYMETHOD(m) call. </p><p>can name collission to happen? if i also have function in the code, named like procedure TMyObject_MyMethod(a: TMyObject), so it's name would match (?) for the debugger with MyMethod ?</p>
<p>I hope my question is clear :) </p><p>------ Here's the code</p><p>type<br> TMyObject = class<br> public<br> procedure MyMethod;<br> end;<br><br><br>procedure TMyObject.MyMethod;<br>begin<br> writeln('My method object');<br>
end;<br><br>procedure TMyObject_MyMethod(m: TMyObject);<br>begin<br> writeln(m.ClassName);<br>end;<br><br>procedure TMyObject__MyMethod(m: TMyObject);<br>begin<br> writeln(m.ClassName, ' **');<br>end;<br><br>var<br>
m : TMyObject;<br>begin<br> m := TMyObject.Create;<br> m.MyMethod;<br> TMyObject_MyMethod(m);<br> m.Free;<br>end. <br><br></p><p>------ Here's the debugger output<br></p><p>(gdb) info functions <br>All defined functions:<br>
<br>File main6.pas:<br>void PASCALMAIN(void);<br>void TMYOBJECT_MYMETHOD(TMYOBJECT);<br>void TMYOBJECT__MYMETHOD(TMYOBJECT); // TMyObject method?<br>void TMYOBJECT__MYMETHOD(TMYOBJECT); // TMyObject method?<br><br>------<br>
</p><p>is there anyway for debugger to understand which of the procedures is actually TMyObject method?</p><p>Thanks.</p><p></p>