This is what I've been working on the last few weeks (and the debugger on and off for the last few months!).
It's not finished yet, which is why it's a WIP, but it is completely usable as an IDE and debugger.
It was programmed in all of native C++, C++/CLR, C#.net and VB.net. Yhe code editing control was programmed from scratch by me in C#.net, and the docking on the tabs, and the resizeable panels were done by me.
Screenshots:
IMPORTANT
If your DBPro install directory is not the default, you must change it as soon as you start up, by choosing Tools->Options, and then changing the relevant field. You must then restart for the keywords to be loaded from the new directory.
Instructions for debugging
By default, the IDE will function like any other, compiling and running your projects as usual. But, if you check the 'Build->Attach Debugger' option, the next time your project is run, through 'Run Last Build' or 'Compile and Run', the IDE will attach to the executable and enter debugging mode.
(As long as the executable is up to date with the source code, you don't even need to recompile!)
When the executable runs in debug mode it will show a debug message box (click OK within a few seconds, or any breakpoints you set before the main loop won't get added before the program has already begun, and so won't be hit).
You can click to the left of the code, before the line numbers to toggle a breakpoint on that line (You can do this at any time, even before you run the program). Once the program hits a breakpoint and breaks into the debugger, you will see a yellow line in the source code. This is the current position. You can step through the code using the debug menu, or the keyboard shortcuts (shown in the debug menu).
At the bottom of the screen, there will be some tabs, showing Output, Variable Watcher, and Stack Trace.
Variable Watcher
In the variable watcher, you can type in any expression including variable names, arrays, UDTs, numbers, strings, and operators, and the value and type will be evaluated according to the current stack frame, and shown to the right. If this is a reference to a real variable/array item/UDT member, the value can be modified by double clicking, and then typing a new value.
Stack Trace
The stack trace shows the functions you are in, so normally, it will just show [Main Program] indicating that your are not in any functions. If you then enter a function called 'MyFunction', it will show:
MyFunction
[Main Program]
And the deeper in you go, the more functions it will show. You can change the current frame (each item is called a reference frame) by double clicking it. The current line of execution will change to reflect the new frame, so in this example, if you double-click '[Main Program]' it would be over the line that called 'MyFunction', and would be green, indicating that it is not the top-most frame in the stack.
Changing the frame also changes the scope in which variable names are evaluated.
Other features:
- Plugin system
- Custom editors can be associated with other file types, and used within the IDE (through the plugin system)
- Collapsible functions
- Semi-dockable interface, made by me
, which remembers your preference (You can drag tabs between tab controls, but you need to resize the borders yourself by dragging them).
Requirements
- It does use the font 'Segui UI' in some places, which comes as default with windows vista, and also with newer versions of office and visual studio, but if you don't have it, you can either use the nearest matched font, or download it (it's free, and looks great)
- It requires at least version 2.0 of the .net framework to be installed on your computer.
Anyway, it's difficult to explain everything, but you can try it out for yourself with the download!
You may have noticed that the icon is the standard .net one. If you want to be of any help, I really need a good icon, or icons, that will look good at these resolutions: 16x16, 32x32 and 48x48. They should be 32 bit with alpha, and I can convert them from any image format to .ico, but png is preferred
.
edit:
THE DOWNLOAD IS FIXED!