If you check the interface pointer in a Delphi popup Evaluate/Modify(Ctrl-F7), it will say something similar to this:
Pointer ($ 656E84) as an IConnectionPoint
My question is where does the debugger get “like IConnectionPoint” or something else, iow
a) How does he know what type of interface the pointer indicates; and
b) Where (and by which process) the debugger receives the text of its description, for example. IConnectionPoint?
I was wondering if this debugger is somehow managing the request for the interface that holds the pointer. But IInterface(this is what the debugger tells IUnknownas), it only has QueryInterface, _AddRefand _Release methods, and I don’t see how the information can be obtained from any of them. In the same way, I don’t see how the debugger can get information from the "history" of the pointer, because the object in which it refers was not originally created in the Delphi application.
source
share