Version 3.0.0

Version 3.0.0 is the first version to support the yasm struc (structure) definitions. You can change the format of a variable to one of the defined strucs in the program or use a pointer to define a new variable of a struc type. I decided to bump the version to 3.0.0 since this is a pretty significant change. I think this version is basically complete for assembly language. I'm sure there will be bug fixes and some minor changes, but nothing major is missing for assembly. C/C++ could benefit from something like IntelliSense, but I have no plans in that area -- yet.

There are quite a few changes. This seems to be pretty reliable in my testing. Please email me if ebe fails to operate properly. I would probably require your source code to diagnose what went wrong. I would like to wipe out the bugs.


  • Moved table resize in eztable::setPlankCount to after the first loop


  • Changed uLong/sLong types to long long variants
  • Switched %precedence to %left in ebedecl bison file


  • Fixed problem with deleting variables from asm data window
  • Fixed issue with reducing the size of the asm data table
  • If the asm data window has no vars, there is no contest menu


  • Fixed issue with showing asm variables when using as


  • Fixed stack frame format crash on empty table
  • Fixed edit settings to preserve subwindow placements
  • Changed to not use ebedecl with as assembler
  • Fixed asm data window crash on empty table


  • Skip running ebedecl when using as
  • Fixed crash on right-clicking empty asm data window


  • Fixed error in parsing nasm listing file


  • Changed gdb "tty" command to "set inferior-tty"
  • Changed settings.cpp to use nasm instead of yasm
  • Changed sourceframe.cpp to parse nasm listing file syntax


  • Repaired size computation for asm vars in .bss
  • Repaired register format as decimal


  • Repaired the stack frame window
  • Ordered locals 1-4 increasing downwards
  • Added scrollareas to stack frame window and float register window


  • Changed from a QWebView to a QTextBrowser for Help and Library
  • This should make it easier to build


  • Fixed OS X menu issue, by building an app
  • Moved .qm files to resources
  • Modified install script to install properly
  • Added 32/64 directories to src/assembly/mac


  • Removed Fortran support
  • Fixed hello.hal (template program)


  • Eliminated fpreg error message when program is not running
  • Extended time for printing gdb taking too long under Windows
  • Eliminated infinite loop on stack in setValues


  • Fixed unitialized variable in registerwindow.cpp
  • Fixed return with no value in ebedecl/symbols.cpp
  • Repaired ebedecl/Makefile to use g++ on symbols.cpp


  • Support for struc expansion in assembly data window
  • Fixed problem with data window changing size with memory errors


  • Changed register window to recover format changes for 1 register
  • Fixed variable access code to use correct frame numbers
  • Fixed problem with displaying argv strings


  • Added code to handle typedefs on demand
  • Switched class/struct definitions to be on demand
  • Fixed bugs with class/struct pointer expansion


  • Worked on prettify code.
  • Added prettify function for Assembly
  • Skip astyle use on Fortran
  • Made prettify changes part of the undo/redo stack, so a person can undo an undesirable prettify operations.


  • Disabled use of astyle (prettify) for Fortran and Assembly


  • Fixed problem with 1D array of simple data types


  • Changed expand/collapse icons to +/-
  • Implemented finalPlank function to find the last one requested
  • Changed all data delivery to be by individual requests


  • Implemented nearly universal install script
  • Started working on Cygwin ebe. Discovered that Cygwin Qt uses X libraries and did not wish to make ebe users have to use X.
  • Cygwin ebe hangs at irregular points. Apparently one of the ebe threads dies unexpectedly.


  • Added support for PCBSD and hopefully a few other BSDs
  • Fixed terminal window problem with PCBSD


  • Changed startup test for gdb running. Now ebe should display its gui even if gdb is not running. However clicking on the Run button should popup an error message if gdb is not running.


  • Fixed a highlight bug
  • Data window now tracks recursive calls
  • Fixed bug with reusing variables in the data window


  • Implemented a custom table widget to support the data window, the assembly data window and the register windows.
  • Revised a large number of library files to be proper html in order to work with Qt5.


  • Changed the assenbly data window, the stack frame, the register window and the floating point window to track data changes in red.


  • Updated source code in library sample programs


  • Added instruction documentation for loop, rep and string instructions.


  • Added instruction documentation to the library


  • Fixed bug in stack frame window. It previously could crash when clearing out old names.
  • Fixed bug in settings.cpp. It needed quotes around in yasm command.
  • Fixed errors with console window.


  • Added define/delete options to asm data window


  • Fixed bugs in aliasing and assembly data window


  • Added format change menu to assembly data window


  • Added format change menu to stack frame window
  • Added assembly data window


  • Added stack frame window


  • Added message for errors like divide by 0, segfault
  • Repaired glitch in listing file parsing


  • Fixed problems with comment/uncomment & shift left/right


  • Fixed problem with DLLs causing 0xc000007b error


  • Added popup menu for source window tabs
  • Added msvcp110.dll to install exe


  • Fixed scroll problem when resizing
  • Fixed stack display on entering a function
  • Reordered open patterns to stick with the same language


  • Added stack display to the data window
  • First version using Visual Studio Express 2012
  • No update provided.
  • Need to try the 64 bit version on 32 bit Windows. The latest gcc seems to be versatile. Email me with your results with C/C++ or fortran if you test this. Thanks


  • Fixed error with stepping into asm function calls


  • Fixed error with negative register values


  • Fixed bug with expert mode


  • Added expert mode to protect users from changes to ebe's external commands.
  • Added Indonesian


  • Assembly works again
  • Added Japanese


  • Added language translations for Arabic, Chinese, French, German, Hindi, Portuguese, Russian, Spanish and Swedish Arabic, French, Hindi, Spanish and Swedish have been edited by speakers of those languages. The others are from Google Translate.
  • Fixed problem with using start-based asm files in Linux.


  • Implemented console window


  • Addded Fortran and Assembly highlighting
  • Added version number to about.html
  • Switched to mingw compilers which means that 64 bit executables are smaller than before. There is no need to choose the 32 bit version of ebe. You need to re-install rather than update.


  • Added support for Windows Assembly programming
  • Rearranged library files
  • Prepared Fortran files to include from the code snippet toolbar
  • Added code to save/restore cursor positions for files


  • Fixed problem with restoring widget sizes


  • Added integer add and and multiply to bit bucket


  • Added integer conversions to bit bucket.


  • First version of the bit bucket
  • Illustrates bit operators ! - ~ | || & && ^ << >> rotate left/right


  • Left out cmath from new C++ toybox code


  • Added support for Fortran to the toybox.


  • Changes to support assembly under OS X
  • Changes to data window


  • Results now can be used to update variables in the toybox
  • This means with variable a, a++ will update the value of a.


  • Added files to library
  • Improved data support for assembly and fortran
  • Added clear button to terminal window
  • Revised variable definition dialog
  • Added array checkbox to array bounds and variable definition dialogs


  • Added libary of code snippets; icon on template toolbar
  • Revised program to find ebe.rcc with .exe file


  • Added a missing DLL: msvcr100.dll


  • Changed the installer to avoid needing to logout and back in


  • Added more options for formatting floating point data in the data window.


  • First version supporting Fortran debugging
  • Handles basic types and arrays
  • Fixed handling or char ** and char * types
  • Fixed identification of globals under Windows
  • Fixed output of stderr to be unbuffered


  • Added more floating point formats to the toybox
  • Fixed link commands for Fortran and C
  • Added closeEvent function to mainwindow
  • Fortran debugging is not really useful yet


  • First version with toybox - spreadsheet like tool to experiment
  • with C++ numeric expressions


  • Fixed problem with spaces in pathnames
  • Implemented EOF handling using Control-D (C OR Z)
  • Handling of data types for 32 bit programs improved
  • Users will probably need to remove old .ebe.ini files


  • Solved problem with loading template main programs
  • Repaired gdb.cpp data item types/sizes issues
  • Fetched settings from .ebe.ini on directory change
  • Made settings changes take effect upon save
  • Allowed _ to start identifiers


  • Gave up on reading template code from resource files and used string constants.
  • Removed a pointless char array from gdb.cpp.


  • Repaired problem with determining next line/file from gdb
  • Fixed issue with added lines looking like breakpoints after setting 1 breakpoint.
  • Bug: When lines are deleted breakpoints are not handled properly.


  • Added change directory to file menu
  • Added code to implement project popup menu
  • Non-functional version


  • Added edit settings menu option
  • Added function key shortcuts for debugging