Edit Home Page
Complete Feature List
about help privacy
This page lists
some of HexEdit's bugs - also see the
Bugs forum. Following the list of bugs below is a Bug Report Form.
Unlike some vendors we do not try to hide the fact
that our software has bugs. (Of course we do everything we can top
prevent them.) This list is provided to assist users when they
believe they have found a bug, so that they can confirm that it is a known
defect and to find a workaround.
Note however that bugs that are reported by a single
user but are unverified may or may not be listed depending on my judgement of the
likelihood that they are caused by HexEdit. If a problem is not reproducible it may
be caused by another agent such as the operating system, third party drivers or other
software, or even hardware (eg. a failing hard disk or memory).
Some bugs are beyond our control being due to either MSWindows, MFC or
3rd party libraries that we use. These bugs will remain until they are
corrected by the vendor in question. In particular, there are problems
with printing files that have more than 32,000 pages, but a workaround is to
use the "print selection" option. Also in a dual monitor
system, right clicking to bring up a context menu in an area of the screen
that has negative coordinates can crash HexEdit -- to avoid this always have
your primary monitor to the left or above any secondary monitors (this avoids
problems with many other programs too).
HexEdit has been found to be very stable; the bugs below are mostly very
minor. There have been a few bugs that caused
HexEdit to crash under rare circumstances but since version 1.0 there
have never been any bugs reported that corrupted file data. This
contrasts with virtually all other popular hex editor's which have had some
very nasty problems at various times.
The list below describes all known bugs in all released versions of Hex Edit. If possible a workaround is given so that you can continue using the
software until the bug is fixed.
--------- Known bugs in Hexedit 4.0 ---------
--------- Known bugs in Hexedit 3.6 ---------
- The Enter key does not work in the Find dialog.
The Enter key should begin the find (or replace) operation. The
workaround is to click the Find (or Replace) button. This is fixed in
- When dragging the scroll handle in the vertical scroll
bar if you drag too far to the left or right (ie, horizontally instead of
vertically) then the display is moved to the start of file. The
workaround is to avoid moving the mouse horizontally too much. This is
fixed in 4.0.
--------- Known bugs in Hexedit 3.5 ---------
- Save All command prompted you to save each unsaved file
which sort of defeated the purpose. Fixed in 3.6.
- Taking the address of an undefined field in a template
returned zero (0) instead of generating an error. Fixed in 3.6.
- On some systems HexEdit can take more than a minute to
startup. This can be addressed by removing the "Font Tool" from the
Format Toolbar. Addressed in 3.6. Fixed in 4.0.
- The status bar message area is too wide on systems with
a wide monitor when HexEdit is made narrow. Fixed in 3.6.
- When "personalised menus" are on some of the sub-menus
show no items until all the items appear after 2 seconds. 3.6 has
"default" items in all sub-menus.
--------- Known bugs in Hexedit 3.4 ---------
- HexEdit 3.4 can fail to start up with an access
violation error. The workaround is to download
and replace the copy in the directory where HexEdit is installed (typically
C:\Program Files\HexEdit). Also replace
any local user copies (eg C:\Documents and Settings\<UserName>\Application
C:\Users\<UserName>\AppData\Roaming\ECSoftware\HexEdit). Or you can
use any .BMP file as long as it has 24-bit color.
Technical discussion. HexEdit uses Backgrnd.BMP to display a background
image for the main HexEdit window. The the top left pixel of the image
is used to fill the rest of the window not covered by the image.
However, it is assumed that the Backgrnd.BMP file uses 24-bit color (ie each
pixel has 3 bytes for red, green and blue). The Backgrnd.BMP file
distributed with HexEdit uses 8-bit (paletted) color and this means that the
top-left pixel is not read correctly and the background color does not get
initialized and could contain an invalid value.
--------- Known bugs in Hexedit 3.3 ---------
- When displaying a template with design mode turned off,
you can still change the template using drag-and-drop. For example, you
can drag a DATA field into a STRUCT. You should only be allowed to
change a template when design mode is on. This is fixed HexEdit
--------- Known bugs in Hexedit 3.2 ---------
- Some minor bugs were reported (see
» Various 3.2 bugs in the forums). These have
been fixed in 3.3.
--------- Known bugs in Hexedit 3.1 ---------
- Under Windows 9X the installer does not create
shortcuts (on Desktop, Start Menu etc) as requested.
The workaround is to create these manually by opening the folder where HexEdit
is installed in Windows Explorer and right-dragging HexEdit.exe to the
Desktop, Start Menu etc and selecting "Create Shortcut Here" from the popup
- If regional settings are changed to turn off "thousands
separations" in the Control Panel then HexEdit will crash with a divide by
zero error. (This is very unlikely as the setting is never used by
default and it is unlikely to be set intentionally.) HexEdit uses this
option to display decimal numbers nicely and suited to the current locale, for
example in the decimal jump tool and the Calculator.
The workaround is to turn on thousands separation for decimal numbers: Open
the "Regional and Language Options" applet in the Control Panel and select the
"Customize" button on the "Regional Options" page, then on the Number page
within the "Customize Regional Options" dialog about half way down find the
"Digit Grouping" drop-down list. Choose any option (eg "123,456,789")
apart from the top one ("123456789").
--------- Known bugs in Hexedit 3.0 ---------
- Invalid enum syntax (used in integer fields in templates) will cause
HexEdit to crash. An example is forgetting the closing brace
'}'. The workaround is to ensure you use valid syntax. Also
remember to save your template regularly. Fixed on
- Modifying the contents of a string in data column of the tree pane for a
string field with unspecified length and terminated by a character other
than a nul byte causes the string to be incorrectly terminated with a nul
byte if the length of the string is changed. Fixed
- Some uses of the calculator are not correctly played back in keystroke
macros. Specifically any calculation involving more than one binary
operation (eg "1 + 2 + 3 =") will give the wrong answer when
played back. Note that the calculator works correctly when not used in
keystroke macros and even during recording of macros.
Fixed in 3.1.
- Seeding of macros is not recorded in macros. This
was an oversight that is fixed in 3.1.
- The display of Unicode strings in templates does not
--------- Known bugs in Hexedit 2.6 ---------
- In the Create New File dialog (File/New) entering a file size in the hex
field has no effect (even though the decimal field is updated with the
corresponding decimal value). The last value entered in the decimal
field or using the spin controls is used. The workaround is after
entering the hex value click each spin control once then the entered hex
value will be used. This is fixed in the version 3.0 (including the
currently available beta 2).
- Search occurrences (displayed with a green background in default colour
scheme) that span a printed page
are not shown at the top of the second page. The part of the
occurrence on the first page is printed correctly. (Note:
highlights etc are
printed with the correct background even when they span a page.) This
was found in our final test testing of version 3.0 and occurs in 2.6 and
beta 3.0 versions, but will be fixed in the final 3.0. version.
- You can't save a selection to file (Edit/Write Selection and Edit/Append
Selection) if the length of the selection is greater than 2^32 (4 GBytes).
The workaround is to save in smaller chunks. This
was found in our final test testing of version 3.0 and occurs in 2.6 and
earlier versions, but will be fixed in the 3.0 due for release very soon.
- When both areas (hex and character) are displayed and the cursor is in the
hex area then right-clicking in the character area (to display the Character
Area context menu) moves the current cursor position to the wrong place
(start of next row). [The current cursor position is moved when you
right-click so that context menu items that depend on the current position
work on the place you clicked, as would be expected. Note that by
default there are no character area context menu items that depend on the
current position but since the menu is customisable you could add one.]
This was discovered in final testing for 3.0 but exists in 2.6 and probably
all versions back to when customisable context menus were added in
2.1. The workaround is to click (left-click) in the character area
before right-clicking on the desired byte. It is fixed in version 3.0.
- Yet another bug we found in testing 3.0 that exists in 2.6 (and probably
earlier versions). The problem is that the Escape key does not always
abort searches/macros under Windows XP. Something appears to be
intercepting just the Escape key. The workaround is to change focus to
another program then back again and the Escape key will now magically
work. We haven't been able to track down what is causing this - in
version 3.0 we will probably just let any key abort searches/macros (since
you are then prompted if you really want to abort anyway).
- A bug reported some time ago (thanks Dave) that has only just been fixed
is that recording of more than one operation in the calculator is not
recorded properly in keystroke macros. (The calculator works fine but
playback of recorded macros is wrong.) Eg "@Cursor, *, 2, +, 100,
=" is played back like "@Cursor, +, 100,
=". The workaround is to record the "=" button after
every binary operation in the calculator as in "@Cursor, *, 2, =, +,
100, =". This is fixed in 3.0.
--------- Known bugs in Hexedit 2.5 ---------
- The precedence of unary operators (-, ~ and !) in expressions is wrong
(lower even than comma operator). This affects use of expressions in
jump tools and designers of templates. The workaround is to place
brackets around expressions involving these operators. For example,
"-1-x" is treated as "-(1-x)" and should instead be
written as "(-1)-x". Not only does this affect the
unary-minus operator but also the bitwise-not (~), the boolean-not (!) and
unary-plus (not often used). This if fixed in 2.6.
- If you try to save a file with a different name but the new name is the
name of an existing file you are prompted to overwrite the existing
file. If the existing file is opened in exclusive mode in another
program HexEdit becomes confused and may display parts of both files.
The workaround is to not attempt to save to a file that is open elsewhere.
- Replace All where the replacement text is of a different length to the
find text does not work properly when replacing forwards. If the
replace text is longer, some replacements near the end of the file may be
missed. If the replace text is shorter HexEdit may hang. This
will be fixed in version 2.6 but the workaround is to replace each
occurrence one at a time or use backwards replacement.
- Using BookmarkAll (Find dialog) in a macro means that all the bookmarks
set when the macro was recorded are re-set every time the macro is
replayed. (New bookmarks are also created for found occurrences of the
search text during replay). These extra spurious bookmarks overwrite
the previous ones of the same name (if still present) and set them all to
the current cursor position when the macro is run. This will be fixed
in the next release.
- Creating an unnamed bookmark (Ctrl+F2 in default keymap) in a macro
results in a bookmark of the same "unnamed" name being created
when the macro is replayed. If the bookmark with that name still
exists from when the macro was created or last run, it is overwritten.
In HexEdit 2.6 this will be changed to create a distinct unnamed bookmark
every time the macro is run.
- Under Windows 95 when you start HexEdit 2.5 you will see a message like
"missing export KERNEL32.DLL:GetFileAttributeExA". If using
Windows 95 you will have to run HexEdit 2.2 or 2.6.
- When you jump to a bookmark the "accessed" time for the bookmark
does not change in the Bookmarks dialog until the next time you run
HexEdit. Fixed in 2.6.
--------- Known bugs in Hexedit 2.2 ---------
- Selecting context-sensitive help and then clicking on the background
displays "Page not found" in the HTML help. Fixed in 2.5
which brings up the help "Display" topic in the overview section.
- The "undo changes" command undoes multiple file changes rather
than just one if they are consecutive. Ie if the last 2 or more
operations changed the file without intervening window changes (eg. cursor
movements) then "undo changes" will undo all
these changes rather than just the last one. This is fixed in 2.5 so
that (a) if the last operation did not change the file then all operations
up to but not including the last file change operation are undone else if (b) the last operation
was a file change operation then only that (last) operation is undone.
- Some users undo NT4 and Windows 98 were missing a Microsoft DLL called
HHACTIVEX.DLL which is used by HTML Help to display browse sequences.
In some cases this triggered IE (which Windows uses for HTML Help files) to try to
connect to a Microsoft web site to download this file, which in turn caused
problems such as an attempt to connect to the Internet by modem or firewall
errors. This file is now distributed with version 2.5.
--------- Known bugs in Hexedit 2.1 ---------
- The default font size (for both the ANSI and OEM default font) is lost when you close
HexEdit. That is if you go into the
Defaults page of the Options dialog click the "Font" button and change the
default font size to a value other than 12 when you run HexEdit again the default font
size is set back to 12. This was fixed in version 2.0 but has
resurfaced. Thanks to Jamie Kowinsky for reporting this bug. The
workaround is to change the registry setting at HKCU\Software\ECSoftware\HexEdit\Options\OpenFont
(and OpenOEMFont) manually. This problem has been avoided in version
2.2 due to changes in the storing of these settings.
- If selecting backwards (eg. clicking on a byte and dragging the mouse
towards the start of file) and the shadow cursor is enabled then the previous
cursor byte still appears to be selected in the other (hex/character
area). This artefact disappears when that part of the screen is
redrawn, for example, if you press Ctrl+L. This bug has been fixed in
- If the starting offset in the display (set with Alt-Enter or using the
Offset control in the Window Options page) is not zero then the first line
on the printed page (and in print preview) is missing and the start address
is wrong. To avoid this only print when using an offset of zero.
This bug has not been fixed in version 2.2.
- In 64-bit mode the calculator would sometimes erroneously signal an
overflow when multiplying 2 numbers. (Somehow the abs() macro
disappeared from Visual C++ and passing a 64 bit int to the "int
abs(int)" function did not generate a warning.) This is fixed in
--------- Known bugs in Hexedit 2.0 ---------
The display is incorrect if a background search had found an
occurrence near the end of file and the file is subsequently shortened so that the
occurrence is removed. The removed bytes are not shown but the same area is drawn
with a green background as if the occurrence were still present. This is fixed in
When a search, compare or keystroke macro is taking a long time,
you are supposed to be able to abort it by pressing Escape. This does not always
work but is fixed in version 2.1.
Also during searches and comparisons the hex and decimal address
tools on the toolbar are supposed to be updated with the current address being searched or
compared. This stopped working in version 2.0 with the addition of the new toolbars.
It is fixed in 2.1, and works with all hex/decimal address tools on any visible
toolbars (ie, the Edit Bar or any customized toolbars).
- The status bar text flickers when the mouse is moved. This is fixed in version
- Search occurrences (ie. those areas highlighted in green after a background search is
performed) are not printed or sometimes printed at the wrong location. This only
affects printing, the on-screen display is correct (except for bug 4 below). This is
fixed in version 2.1.
- The wrong context menus are displayed if the window is scrolled horizontally. For
example, if the window is scrolled so that the addresses (on the left side) are no longer
visible, then right-clicking on the left side of the window (ie, in the hex area rather
than the address area) still displays the Address context menu rather than the Hex Area
context menu. This is fixed in version 2.1
--------- Known bugs in Hexedit 1.2 ---------
The default font size is lost when you close HexEdit. That is if you go into the
Defaults page of the Options dialog click the "Font" button and change the
default font size to a value other than 12 when you run HexEdit again the default font
size is set back to 12. [Thanks to Richard Webb for spotting this one.] This
is fixed in version 2.0.
Sometimes the little popup window that shows the selection length is not displayed when
you press the Shift key. This occurs when the first selection made in a file is not
made with the keyboard or mouse (eg. by doing a search). Once a selection is done
with the keyboard or mouse this problem disappears. This is fixed in version 2.0.
When using 32 bit colours (True Color") the selection in
windows that do not have focus is not drawn in a lighter grey, but drawn as if the window
had focus. This does not occur in 24 bit and other modes. This occurs in
version 1.2 and all earlier versions and is fixed in version 2.0.
Multiplying by zero in the calculator can cause HexEdit to crash with a divide by zero
error. This is fixed in version 2.0.
Some overflow conditions in the calculator cause HexEdit to crash. This is fixed
in version 2.0.
Pasting in overtype mode when the number of bytes to be pasted was more than would fit
before the end of file caused the display to become confused. In version 2.0 this is
prevented (and the problem avoided) since in overtype mode the file length should not
- Some people have reported getting the message "HexEdit has not been installed on
this machine" when they fire up HexEdit. This is not a bug but just HexEdit
detecting the problem that it was not installed properly or the installation has become
corrupted or inconsistent. The solution to this is given on the FAQ page.
--------- Known bugs in Hexedit 1.1 ---------
- Unicode characters are converted to ANSI before being displayed in the Unicode field of
the "Character Properties" page (Windows 2000 and NT). This means that
some characters that do not convert to an ASCII/ANSI character are displayed as a question
mark (?). Others are converted to a similar character, eg., the character may lose any
accents. If you need to view such a Unicode character you can use the standard Windows
Character Map tool (under Programs/Accessories/System Tools/Character Map on the Start
Menu) rather than HexEdit 1.1. This is fixed in version 1.2.
--------- Known bugs in Hexedit 1.0 ---------
- The two options for overtype/insert mode and read-only/read-write in the the
"Window Default" page of the Options dialog are inverted. That is if you
select overtype mode and you open a file then it will be opened in insert mode. Note
that this does not apply to recently opened files -- the current mode is saved and
restored when they are reopened. The workaround is to just invert your thinking.
This is fixed in version 1.1.
- The Delete key is not recorded in keystroke macros. A workaround is to use Ctrl+X
(cut). This is fixed in version 1.1.
- You cannot select a range of bytes starting from the end of a line and going backwards
(ie. dragging left and/or upwards). A workaround is to start your selection before
the start of the next line which selects from the end of the line above, or to start the
selection from the top and drag forwards. [Thanks to Roland McIntosh for pointing this one
out.]. This is fixed in version 1.1.
- If you elect to use the registry to store HexEdit options these are not deleted when you
uninstall. These entries can cause HexEdit to become unuseable if they become
corrupted somehow. To prevent use of the registry create an empty file called
HEXEDIT.INI in yours windows directory. To delete the registry entries delete
everything (using regedit.exe) under HKEY_CURRENT_USER\Software\ECSoftware\HexEdit.
If more than one person has used HexEdit on the machine then you need to do this for each
of them. This is fixed in version 1.1
- Sometimes HexEdit windows can be "lost" in a multiple monitor environment when
you restart HexEdit. When you start it, HexEdit tries to reposition your windows
(eg. the Properties Dialog) where they were when you last used it. If, in the
meantime, you have changed your screen area (by say changing your display resolution) then
HexEdit makes sure the windows are visible by placing them within the visible screen area.
But if you have 2 or more monitors the rectangular "virtual" monitor may
not be necessarilly covered by all the physical monitors. If you change the
resoution or relative position of your monitors and are very unlucky your window may be in
a part of the virtual display that is not visible on any monitor. (See the FAQ for
more info.) A workaround is to restore your monitor resolutions and positions then
move all your windows to the primary monitor. An alternative is to temporarilly disable
all but the primary monitor, run HexEdit (all the windows should now be visible on the
primary monitor), exit HexEdit (making sure that "save settings on exit" is on)
and re-enable your secondary etc monitor(s). This is fixed in version 1.1.
- If you change the number of columns in a macro using the Options dialog's Window Display
page the cursor is not moved to the correct insertion point. It is moved to the
correct place by any following cursor movement key. This is fixed in version 1.1.
- If you select multiple files in the "File Open" dialog and the directory is a
root directory (eg. "A:\") then you will get an erroneous error message such as
"A:\\FILENAME is an invalid filename". The workaround is to only open one file
at a time or specify the files on the command line. [Thanks to Kevin Bollhorst
for pointing this one out.] This is fixed in version 1.1.
- You cannot cut/copy/paste using the keyboard shortcuts in the "tools" on the
Edit Bar. (Ie the hex address, decimal address and find tools). You can right
click and select cut/copy/paste from the popup menu. This is fixed in version 1.1..
- If you open a new window on an already open file (using the Window/New Window menu
item), you cannot undo any changes in the new window. You can undo the changes in
the original window, but doing so confuses the new window display. This is fixed in
- The cursor (or "caret") flashes during macro playback when screen updates have
been turned off. This is not a problem except that it may slow down the replaying of
the macro slightly. This is fixed in version 1.1 -- as a side-effect macro playback
has been sped up slightly.
- After changing some options and other conditions the cursor may have moved off the
visible display area. This is not a major problem but may be a little confusing.
To "find" the cursor press one of the arrow keys which will cause the
display to be scrolled so the cursor is visible. This is fixed in version 1.1.
- After selecting the whole file (Crl+A) the address in the hex and decimal address tools
on the Edit Bar and values in the Properties dialog are not updated to reflect the new
cursor position, ie. 0 (for the start of file). This discrepancy should be fairly
obvious but to avoid it move the cursor to the start of file before selecting the whole
file. This is fixed in version 1.1.
- Paste As EBCDIC when there were ANSI characters on the clipboard (ie characters with
values greater than 127) causes weird characters to be pasted. This is fixed in version
1.1 -- they are now just ignored.
- When the font size was increased or decreased using the toolbar buttons, font resources
were consumed. Repeated use caused Windows to run out of fonts. This is fixed in
- Several display bugs were found that
(very rarely) appeared when file modifications were made (usually a large
cut or paste) which changed the file length. This occurred if the new file length
caused the width of addresses on the left to change. The symptoms were that part of
the window may have been messed up, the cursor was left in the wrong place, and when the
changes were undone the selection was incorrect. Only the display (not the file
or any file changes) was
affected, and this could easily be addressed by pressing Ctr+L to redraw the display.
These bugs are fixed in version 1.1.
--------- End of Bug List ---------