[BUG]ObjectTracer seems broken

goran.hultgren at bluefish.se goran.hultgren at bluefish.se
Wed Apr 10 08:16:24 UTC 2002

First, to use ObjectTracer you must turn off
Preferences>logDebuggerStackToFile otherwise the printing on the logfile
will cause problems. We should of course include information on that in
the class comment.

With that turned off, it turns out that a doit on:

(ObjectTracer on: 'hej') last

...pops up the debugger as expected. But a Proceed does not work, it
will fail in:

Message>>sentTo: receiver
	"answer the result of sending this message to receiver"

	lookupClass == nil
		ifTrue: [^ receiver perform: selector withArguments: args]
		ifFalse: [^ receiver perform: selector withArguments: args
inSuperclass: lookupClass]

lookupClass is set to ObjectTracer and that is not a superclass of
String (the traced object) giving the error message: 'lookupClass is not
in my inheritance chain'.

A send instead of a proceed will give the same result (after another
"stop" when the Debugger sends #instVarAt: to the ObjectTracer).

regards, Göran

PS. A workaround is by not using #sentTo but instead doing:
"tracedObject perform: aMessage selector withArguments: aMessage
arguments" but that's a hack. It worked in my own version of
ObjectTracer at least. DS

More information about the Squeak-dev mailing list