[67cat][ruby][debugger] Debugger doesn't always honor breakpoints.

View: New views
5 Messages — Rating Filter:   Alert me  

[67cat][ruby][debugger] Debugger doesn't always honor breakpoints.

by esmithbss :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I am trying to debug a Ruby On Rails application.  I have a dozen or so
breakpoints set in the execution path and when I step through them,
every single line is touched, so I am fairly confident that the code is
working up to a point.

The problem comes when I click the "Continue" button.

I have a stretch of 10 lines within my code that I want to continue
through.  So I click the "Continue" button and the application
continues.  But it doesn't continue to the next breakpoint.  It
continues to completion as if the remaining breakpoints don't exist.

Looking at the IDE log, I can see the following where I hit the continue
button.

FINE [org.rubyforge.debugcommons.RubyDebuggerProxy]: Sending command
debugger: cont
FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
debug='true'>Processing: cont</message>
FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
debug='true'>Processing context: cont</message>
FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
debug='true'>Resumed Thread #<Thread:0xb5b42e08></message>

But that's where the log ends.  Noting beyond it to say it hit a bug or
skipped any breakpoints.

I'm pretty sure I'll need to fill in a bug report, but just saying
"Debugger doesn't honor all breakpoints" doesn't do anything to help
determine what's happening.

Any hints on how I should gather info for this one?



Re: [67cat][ruby][debugger] Debugger doesn't always honor breakpoints.

by Erno Mononen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi Eric,

Could you check from the log whether the breakpoints are successfully
sent to the backend? There should be first "Sending command debugger:
b..." and then "Received: <breakpointAdded..." for each breakpoint.

Thanks,
Erno
 

Eric M. Smith wrote:

> I am trying to debug a Ruby On Rails application.  I have a dozen or
> so breakpoints set in the execution path and when I step through them,
> every single line is touched, so I am fairly confident that the code
> is working up to a point.
>
> The problem comes when I click the "Continue" button.
> I have a stretch of 10 lines within my code that I want to continue
> through.  So I click the "Continue" button and the application
> continues.  But it doesn't continue to the next breakpoint.  It
> continues to completion as if the remaining breakpoints don't exist.
>
> Looking at the IDE log, I can see the following where I hit the
> continue button.
>
> FINE [org.rubyforge.debugcommons.RubyDebuggerProxy]: Sending command
> debugger: cont
> FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
> debug='true'>Processing: cont</message>
> FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
> debug='true'>Processing context: cont</message>
> FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
> debug='true'>Resumed Thread #<Thread:0xb5b42e08></message>
>
> But that's where the log ends.  Noting beyond it to say it hit a bug
> or skipped any breakpoints.
>
> I'm pretty sure I'll need to fill in a bug report, but just saying
> "Debugger doesn't honor all breakpoints" doesn't do anything to help
> determine what's happening.
>
> Any hints on how I should gather info for this one?
>
>


Re: [67cat][ruby][debugger] Debugger doesn't always honor breakpoints.

by esmithbss :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Erno,

I double checked and yes, each breakpoint in the system (including those
that are skipped) have a 4 record sequence in the log file

    Adding breakpoint RubyLineBreakpoint[path: <location>]
    Sending command debugger: b <location>
       Received message <message debug='true'>Processing: b <location>
       Received: <breakpointAdded no='x' location='<location>'

where <location> is a file:line number combination (with message
specific formatting)

Eric


Erno Mononen wrote:

>
> Hi Eric,
>
> Could you check from the log whether the breakpoints are successfully
> sent to the backend? There should be first "Sending command debugger:
> b..." and then "Received: <breakpointAdded..." for each breakpoint.
>
> Thanks,
> Erno
>
>
> Eric M. Smith wrote:
>> I am trying to debug a Ruby On Rails application.  I have a dozen or
>> so breakpoints set in the execution path and when I step through
>> them, every single line is touched, so I am fairly confident that the
>> code is working up to a point.
>>
>> The problem comes when I click the "Continue" button.
>> I have a stretch of 10 lines within my code that I want to continue
>> through.  So I click the "Continue" button and the application
>> continues.  But it doesn't continue to the next breakpoint.  It
>> continues to completion as if the remaining breakpoints don't exist.
>>
>> Looking at the IDE log, I can see the following where I hit the
>> continue button.
>>
>> FINE [org.rubyforge.debugcommons.RubyDebuggerProxy]: Sending command
>> debugger: cont
>> FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
>> debug='true'>Processing: cont</message>
>> FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
>> debug='true'>Processing context: cont</message>
>> FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
>> debug='true'>Resumed Thread #<Thread:0xb5b42e08></message>
>>
>> But that's where the log ends.  Noting beyond it to say it hit a bug
>> or skipped any breakpoints.
>>
>> I'm pretty sure I'll need to fill in a bug report, but just saying
>> "Debugger doesn't honor all breakpoints" doesn't do anything to help
>> determine what's happening.
>>
>> Any hints on how I should gather info for this one?
>>
>>
>
>

Re: [67cat][ruby][debugger] Debugger doesn't always honor breakpoints.

by Erno Mononen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Thanks. So it seems the problem is in the backend, I'll try to add some
logging to ruby-debug-ide to track this down. I suppose  this is not
easily reproducible with a new project from scratch?

Erno


Eric M. Smith wrote:

> Erno,
>
> I double checked and yes, each breakpoint in the system (including
> those that are skipped) have a 4 record sequence in the log file
>
>    Adding breakpoint RubyLineBreakpoint[path: <location>]
>    Sending command debugger: b <location>
>       Received message <message debug='true'>Processing: b <location>
>       Received: <breakpointAdded no='x' location='<location>'
>
> where <location> is a file:line number combination (with message
> specific formatting)
>
> Eric
>
>
> Erno Mononen wrote:
>>
>> Hi Eric,
>>
>> Could you check from the log whether the breakpoints are successfully
>> sent to the backend? There should be first "Sending command debugger:
>> b..." and then "Received: <breakpointAdded..." for each breakpoint.
>>
>> Thanks,
>> Erno
>>
>>
>> Eric M. Smith wrote:
>>> I am trying to debug a Ruby On Rails application.  I have a dozen or
>>> so breakpoints set in the execution path and when I step through
>>> them, every single line is touched, so I am fairly confident that
>>> the code is working up to a point.
>>>
>>> The problem comes when I click the "Continue" button.
>>> I have a stretch of 10 lines within my code that I want to continue
>>> through.  So I click the "Continue" button and the application
>>> continues.  But it doesn't continue to the next breakpoint.  It
>>> continues to completion as if the remaining breakpoints don't exist.
>>>
>>> Looking at the IDE log, I can see the following where I hit the
>>> continue button.
>>>
>>> FINE [org.rubyforge.debugcommons.RubyDebuggerProxy]: Sending command
>>> debugger: cont
>>> FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
>>> debug='true'>Processing: cont</message>
>>> FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
>>> debug='true'>Processing context: cont</message>
>>> FINEST [org.rubyforge.debugcommons.Util]: Received Message: <message
>>> debug='true'>Resumed Thread #<Thread:0xb5b42e08></message>
>>>
>>> But that's where the log ends.  Noting beyond it to say it hit a bug
>>> or skipped any breakpoints.
>>>
>>> I'm pretty sure I'll need to fill in a bug report, but just saying
>>> "Debugger doesn't honor all breakpoints" doesn't do anything to help
>>> determine what's happening.
>>>
>>> Any hints on how I should gather info for this one?
>>>
>>>
>>
>>


Re: [67cat][ruby][debugger] Debugger doesn't always honor breakpoints.

by esmithbss :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Not with a new project, but for some reason, this behavior is consistent
within my program.  I'll see if I can come up with an example that's not
owned by my customer.

Eric M. Smith


Erno Mononen wrote:

>
> Thanks. So it seems the problem is in the backend, I'll try to add
> some logging to ruby-debug-ide to track this down. I suppose  this is
> not easily reproducible with a new project from scratch?
>
> Erno
>
>
> Eric M. Smith wrote:
>> Erno,
>>
>> I double checked and yes, each breakpoint in the system (including
>> those that are skipped) have a 4 record sequence in the log file
>>
>>    Adding breakpoint RubyLineBreakpoint[path: <location>]
>>    Sending command debugger: b <location>
>>       Received message <message debug='true'>Processing: b <location>
>>       Received: <breakpointAdded no='x' location='<location>'
>>
>> where <location> is a file:line number combination (with message
>> specific formatting)
>>
>> Eric
>>
>>
>> Erno Mononen wrote:
>>>
>>> Hi Eric,
>>>
>>> Could you check from the log whether the breakpoints are
>>> successfully sent to the backend? There should be first "Sending
>>> command debugger: b..." and then "Received: <breakpointAdded..." for
>>> each breakpoint.
>>>
>>> Thanks,
>>> Erno
>>>
>>>
>>> Eric M. Smith wrote:
>>>> I am trying to debug a Ruby On Rails application.  I have a dozen
>>>> or so breakpoints set in the execution path and when I step through
>>>> them, every single line is touched, so I am fairly confident that
>>>> the code is working up to a point.
>>>>
>>>> The problem comes when I click the "Continue" button.
>>>> I have a stretch of 10 lines within my code that I want to continue
>>>> through.  So I click the "Continue" button and the application
>>>> continues.  But it doesn't continue to the next breakpoint.  It
>>>> continues to completion as if the remaining breakpoints don't exist.
>>>>
>>>> Looking at the IDE log, I can see the following where I hit the
>>>> continue button.
>>>>
>>>> FINE [org.rubyforge.debugcommons.RubyDebuggerProxy]: Sending
>>>> command debugger: cont
>>>> FINEST [org.rubyforge.debugcommons.Util]: Received Message:
>>>> <message debug='true'>Processing: cont</message>
>>>> FINEST [org.rubyforge.debugcommons.Util]: Received Message:
>>>> <message debug='true'>Processing context: cont</message>
>>>> FINEST [org.rubyforge.debugcommons.Util]: Received Message:
>>>> <message debug='true'>Resumed Thread #<Thread:0xb5b42e08></message>
>>>>
>>>> But that's where the log ends.  Noting beyond it to say it hit a
>>>> bug or skipped any breakpoints.
>>>>
>>>> I'm pretty sure I'll need to fill in a bug report, but just saying
>>>> "Debugger doesn't honor all breakpoints" doesn't do anything to
>>>> help determine what's happening.
>>>>
>>>> Any hints on how I should gather info for this one?
>>>>
>>>>
>>>
>>>
>
>