Context independent variables for debugger


I’ve used a few debuggers but am unable to make any sense out of Cloud 9’s. I’m sorry but it is not very intuitive at all. I’m used to simply picking a variable out of a program list, putting a watch on it and stepping through my program. Apparently there are all kinds of ifs ands or buts on this where the number of variables available for watch is quite restricted. Am I missing something ? Is there a simplified way to use this also but I just don’t know about it ? So far I’m up to my arm pits in having to set break points and only local variables are available or certain globals and yada yada yada… Jeez guys and gals KEEP IT SIMPLE !!!


Oef, that’s harsh criticism. I built the Node.js debugger and the generic debugger components and it sounds like I need to step up my game here. Lets try to break this down so I understand better what is missing and how I can improve it.

Are you using the Node.js, C++ or PHP debugger? Each is slightly different.

  • It sounds like you can only find local variables, is that correct?
  • If you are using the Node.js debugger, there are scopes. This is the way that debugger works and those scopes contain variables in those scopes (similar to the chrome debugger).
  • You mention you would like to add a variable to the watch window. It sounds like you want to do this using a context menu. That’s a missing feature for sure. Currently you have to double click on the watch area and type in the variable or expression you want to watch.

Please let me know in more detail how we can improve the debugger. I want to make it as simple as possible.



I’m in Harvard’s CS50 class. We are using the Cloud 9 IDE to write C programs. Some of my programs don’t work properly and I need to find out what the problem is. In other C IDE’s I’ve used, that is a very simple and intuitive process. I open up the debugger, I select a drop down menu that has a list of all the variable and memory locations in the list, I click on the one(s) I want to watch and I have the option of setting break points and/or stepping into, through or over code. I see this last bit of stepping is there and straight forward to use. I have some arrays I’d like to watch while I execute my code, but I can’t find them on any list and as far as I gather so far, I am forced to set up break points and depending on where those breakpoints are placed only certain variables or memory location can be watched … and …Well I can’t figure this debugger out at all. Why not just have a master list of variables that can be watched and be done with it ??


@ChollyMo could you show us the script you are debugging, and tell which ide you used before.
I haven’t seen a debugger that shows master list of variables independently from breakpoints, but that sounds like a great feature, and seeing how it works in other debuggers will help us to implement the same in cloud9


Re: [Cloud9 Community] Cloud 9 Debugger is A Bugger To Use

Charlie Moher
Harutyun Amirjanyan; Wed 2016-02-24 2:21 AM
I have used the Microchip MPLAB IDE for many years working with their line of microcontrollers. I have also recently started using their MPLAB X but don’t recall doing any debugging with it yet. For popular older versions of MPLAB. there are two versions, an expensive pro edition and a free one. I use the free one. See Chapter 8 here for details on their debugger… Specifically section 8.6: I attach a screen shot of the setup page for watches. The drop down list is open on the left showing a schrollallable list of what it calls SFR’s … Special Function Registers. A fancy name for memory locations. The list includes user created variables and I would think is all the would be required in a C9 debugger. I finally figured out how to use your debugger watch. The whole key, I’ve found, is putting the break in the right spot to capture as many variables as possible. I found a sufficient number on one single code line to do some effective debugging. We at Harvard CS50 are also using a lot of argument passing to the C program via argv and argc. It has takingquite a few of us some time to figure out that our arguments need to be included in the command window, or it just returns a zero and terminates. …


Those Symbol names are variables I created. The SFR’s are standard memory locations for the particular model of microcontroller being used on that project.