Ruby In Steel 1

Back to -Tutorials -Sapphire (Ruby In Steel) Tutorials -Archives -Ruby In Steel 1

Ruby Debugger Enhancements - Conditional Breakpoints, Tracepoints and more

Developments in the ultra-fast Cylon debugger

The ultra-fast Cylon Debugger is Ruby In Steel has a huge range of debugging features. Here are a few that you may have missed...


Cylon, our fast debugger is unique to Ruby In Steel Developer. It is not an open source product and it is not available with any other IDE. Its two most important features are its speed and accuracy. It offers debugging in plain Ruby or ‘embedded Ruby’ (Rails templates) with step into, step out, step over, drag-and-drop watch variables, drill-down variables (to look inside complex objects) in the Watch, Locals and Autos Windows, plus ‘hover and drill-down’ variable expansion and in the Code Editor and integrated Ruby Console. It provides call-stack navigation, a breakpoint window, a quick watch window and an immediate window to evaluate expressions while debugging. For an overview of these features see ‘Debugging Ruby With Cylon’.


Change The Values Of Variables

When stopped at a breakpoint you may edit the values of variables in debug windows such as Watch and Locals. Just select a variable and click to put it into Edit mode...

You can even change the type of a variable in this way. Here I have selected the Fixnum, x, and I am assigning to it the Treasure object, t1...

Now, x has been assigned t1 and its class type is now Treasure rather than Fixnum...

Break On Exception

When an exception occurs, it may be more useful to be able to stop and debug it using the usual range of debug windows. Now you can...

Break On Hit Count

If you want to break only after a specific piece of code has been executed a certain number of times, add a Breakpoint Hit counter...

Conditional Breakpoints

If you only want to break when a condition (a test of one or more values) is met, create a Conditional Breakpoint...

Run Macro On Break

You can attach a macro to a Breakpoint - for example, you could write or record a macro to do anything from popping up a dialog box to inserting comments into your code - and this will run when the breakpoint is hit...

Tracepoints

There may be times when you want to be alerted that a piece of code has executed but you don’t want execution to break. You can do that by adding Tracepoints...

When tracepoints are met they will print messages without breaking (here I can see that my tracepoint has executed twice so I can tell that two Thing objects have been initialized)...

Bookmark and Share   Keywords:  debugger
© SapphireSteel Software 2014