Break it all!

Salut à tous!

In case you don’t know the song that gives title to this post:

Today I’m going to tell you a little more on those fancy breakpoints we want to get 🙂

Now that Reflectivity is more or less ported and almost stable (I keep on doing small refactorings and improvements, and fixing bugs), I have started to work in a small API for inserting breakpoints. After thinking of it for a while (and thanks to Martin Dias for the brainstorming), I decided to integrate them to SmartSuggestions framework, which provides suggestions (duh!) based in the selected text or the cursor position.Currently there are suggestions for:

  • Temporary/Instance/Class Variable
  • Class
  • Method (when you are in the selector)
  • Source (multiple lines)
  • Message

What I did was just adding a new suggestion which triggers the creation of a new breakpoint. In particular, I am interested in methods and message sends.

So, let’s check out how it looks like:

Screen Shot 2014-07-11 at 14.05.17


“Break here” triggers the creation of a one shot breakpoint, that inserts a halt using Reflectivity.

Eventually I am thinking of having either a submenu to choose which kind of breakpoint you want to insert or some sort of pop-up menu. Currently, you can insert two kind of breakpoints: persistent ones, and one-shot. All of them are available at message-send and method level, because they are AST based.

For now this is super alfa: still cannot insert breakpoints anywhere you want (you have the suggestion, but in some cases the image still crashes). But I wanted to do some show off 😛

And then, the roadmap would be:

  • Be able to insert breakpoint everywhere (even in the methods that reflect on the system itself, this is related to the image crashes);
  • Have other kinds of breakpoints: by condition, by exception, etc;
  • Have a nice way to uninstall breakpoints;
  • Have a nice way to pick which kind of breakpoint you want to use.

The first item is the most important to get fixed to make SmartBreakpoints “usable”. Once that is done,  I will create a configuration and start asking for feedback (because the only way of full proving the tool will be getting people to use it).

So, stay tuned! I will have more cool stuff to show soon, I hope! 😀


By clariallende

3 comments on “Break it all!

  1. Pingback: SmartBreakpoints: alpha release 1.0 | Valhalla, I'm coming!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s