Debugger woes

Cees de Groot cg at cdegroot.com
Thu Mar 27 10:06:51 UTC 2003


Hi,

I'm spoilt by PDP (Terry Raymond's Professional Debugging Package) under
VW, and I had a bit of trouble when debugging my stuff in Squeak. I am
not sure whether someone has already patched the debugger, whether my
issues are valid, and whether they are fixable at all. I just feel like
whining, so here goes:

- BlockContext>>ensure: uses #valueUninterruptably to evaluate the
block. It seems that the debugger cannot descent inside such blocks. I'm
using a subclass of TestCase that does:

  open database
  [start txn
  run test
  commit txn] ensure: [close database]

so that means that you cannot Send down into the actual test code when
running unit tests. 

- OmniBase uses a process->transaction dictionary to see what the
'current' transaction is for a given process. It seems that the debugger
runs the code in a new process, which fouls up all transaction-related
things when single-stepping after a #halt or an exception (which is a
lot in my code ;-)).

- PDP has breakpoints ('probes'). I want breakpoints in Squeak :-).
AFAICT, but I never really studied the implementation, some sort of
method wrapping is employed to achieve this. The UI is really simple -
point at some code, bring up the context menu, and select 'insert
breakpoint' or 'insert conditional probe'. No more clobbering your
changelog with 'self halt', really nice (plus additional benefits:
enabling/disabling probes, cleaning your system of all probes,
etcetera).

Any comments on how to deal with especially the first two issues are
very welcome...


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030327/205d9bf1/attachment.pgp


More information about the Squeak-dev mailing list