Debugger doesn't handle an exception when Step Over inside an exception

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Debugger doesn't handle an exception when Step Over inside an exception

Tim M
I was debugging a swazoo resource and the debugger appeared to hang on the
following method:

apply: anSTemplateContext on: aStream
        [result do: [:each | each apply: anSTemplateContext on: aStream]]
                on: Error
                do:
                        [:ex |
                        aStream flush. self halt.
                        ex class signal: ((ex message ifNil: ['unspecified']), ' in:', String
lineDelimiter, String lineDelimiter, aStream contents)]

You can see the halt that brought up the debugger, I can step over up to:

(ex message ifNil: ['unspecified']), ' in:'

It then hangs (well it seems that after about 1 minute the debugger folds).

It took me ages to realise that ((ex message ifNil: ['unspecified']) was
returning a CompiledMethod (I meant to ask for a description).

However why doesn't the debugger launch another debugger showing me the DNU?
If this is technically hard - some indication in the status line might help.


Tim


Reply | Threaded
Open this post in threaded view
|

Re: Debugger doesn't handle an exception when Step Over inside an exception

Blair McGlashan-3
"macta" <[hidden email]> wrote in message
news:[hidden email]...

>I was debugging a swazoo resource and the debugger appeared to hang on the
>following method:
>
> apply: anSTemplateContext on: aStream
> [result do: [:each | each apply: anSTemplateContext on: aStream]]
> on: Error
> do:
> [:ex | aStream flush. self halt.
> ex class signal: ((ex message ifNil: ['unspecified']), ' in:', String
> lineDelimiter, String lineDelimiter, aStream contents)]
>
> You can see the halt that brought up the debugger, I can step over up to:
>
> (ex message ifNil: ['unspecified']), ' in:'
>
> It then hangs (well it seems that after about 1 minute the debugger
> folds).
>
> It took me ages to realise that ((ex message ifNil: ['unspecified']) was
> returning a CompiledMethod (I meant to ask for a description).
>
> However why doesn't the debugger launch another debugger showing me the
> DNU? If this is technically hard - some indication in the status line
> might help.
>
>

I have seen this problem, but haven't been able to work out why it locks up
yet. What I do know is that hitting Ctrl+Break will almost always break into
it, at which point you can dismiss the resulting 'User Interrupt' walkback
dialog, and the original debug operation.

The expectation is that you can launch multiple nested debuggers.

Regards

Blair