## Release notes for Ozone - the J-Link Debugger V2.50c

1. New features
2. Improvements
3. Program corrections
4. Known problems
5. Miscellaneous

# New features

## Version 2.50c

1. None.

## Version 2.50b

1. None.

## Version 2.50a

1. None.

## Version 2.50

1. None.

## Version 2.47

1. Ozone now supports editing of documents.

## Version 2.46c

1. None.

## Version 2.46b

1. None.

## Version 2.46a

1. None.

## Version 2.46

1. None.

## Version 2.45a

1. None.

## Version 2.45

1. All disassembly-related features of Ozone are now also available in offline mode.
2. A filter bar has been added to the table-based debug information windows.

## Version 2.44e

1. None.

## Version 2.44d

1. None.

## Version 2.44c

1. None.

## Version 2.44b

1. None.

## Version 2.44a

1. None.

## Version 2.44

1. Added a new debug information window: J-Link Web Control.
2. Ozone now assigns each project a user perspective file (*jdebug.user). When the user perspective file is present and the project is opened, the project-specific window layout is restored.
3. Added new command line arguments for startup project generation (user manual chapter 7).

## Version 2.42b

1. None.

## Version 2.42a

1. None.

## Version 2.42

1. Ozone now supports ARMv8-M based devices.

## Version 2.40d

1. None.

## Version 2.40c

1. None.

## Version 2.40b

1. None.

## Version 2.40a

1. None.

## Version 2.40

1. None.

## Version 2.32

1. None.

## Version 2.31

1. Added a new debug information window: "Timeline".
2. Added symbol relocation support via command "Project.RelocateSymbols".

## Version 2.30d

1. None.

## Version 2.30c

1. None.

## Version 2.30b

1. None.

## Version 2.30a

1. None.

## Version 2.30

1. None.

## Version 2.29

1. None.

## Version 2.22p

1. None.

## Version 2.22o

1. None.

## Version 2.22n

1. None.

## Version 2.22m

1. None.

## Version 2.22l

1. None.

## Version 2.22k

1. None.

## Version 2.22j

1. None.

## Version 2.22i

1. None.

## Version 2.22h

1. None.

## Version 2.22g

1. None.

## Version 2.22f

1. None.

## Version 2.22e

1. None.

## Version 2.22d

1. None.

## Version 2.22c

1. None.

## Version 2.22b

1. None.

## Version 2.22a

1. None.

## Version 2.22

1. None.

## Version 2.20j

1. None.

## Version 2.20i

1. None.

## Version 2.20h

1. None.

## Version 2.20g

1. None.

## Version 2.20f

1. None.

## Version 2.20e

1. None.

## Version 2.20d

1. None.

## Version 2.20c

1. None.

## Version 2.20b

1. None.

## Version 2.20a

1. None.

## Version 2.20

1. Added streaming (live) trace support.
2. Added instruction and source line execution counters to the code windows.
3. Added data export functionalities to the code profile window and the disassembly windows.

## Version 2.18c

1. None.

## Version 2.18b

1. None.

## Version 2.18a

1. None.

## Version 2.18

1. None.

## Version 2.17

1. Added a new debug information window: Data Graph. This window allows users to monitor the time-course of symbol expressions at high resolutions.

## Version 2.16h

1. None.

## Version 2.16g

1. None.

## Version 2.16f

1. None.

## Version 2.16e

1. None.

## Version 2.16d

1. None.

## Version 2.16c

1. None.

## Version 2.16b

1. None.

## Version 2.16a

1. None.

## Version 2.16

1. None.

## Version 2.15b

1. None.

## Version 2.15a

1. Watched data is now updated while the target is running. The live watch feature requires the target to support background memory access.

## Version 2.15

1. None.

## Version 2.14h

1. None.

## Version 2.14g

1. None.

## Version 2.14f

1. None.

## Version 2.14e

1. None.

## Version 2.14d

1. None.

## Version 2.14c

1. None.

## Version 2.14b

1. The ELF parser module has been reworked to use handles instead of pointers.

## Version 2.14a

1. None.

## Version 2.14

1. None.

## Version 2.12

1. None.

## Version 2.12b

1. None.

## Version 2.12a

1. None.

## Version 2.12

1. Added the code profile debug information window. This window displays runtime code metrics such as instruction coverage and CPU load.

## Version 2.10d

1. None.

## Version 2.10c

1. None.

## Version 2.10b

1. None.

## Version 2.10a

1. None.

## Version 2.10

1. Added a new debug information window that displays the call graph of the selected function.
2. Added a navigation header bar to the source viewer.
3. Added a breakpoint toolbar.
4. Added an additional column to the breakpoint window that informs about the implementation type of a breakpoint.
5. Added system variable "VAR_VERIFY_DOWNLOAD". When set, the debugger validates each downloaded data segment and shows a warning dialog when a segment was not downloaded correctly.
6. Added a new user preference: "PREF_START_WITH_MOST_RECENT_PROJECT".
7. Changed reset mode "Reset & Break At Main" to "Reset & Break At Symbol" and added System Variable "VAR_BREAK_AT_THIS_SYMBOL".
8. Added a "class" column to the functions window that is available when debugging C++ programs.
9. Added a new user preference "PREF_PREPEND_FUNC_CLASS_NAMES" that controls whether class scopes are prepended to function names.

## Version 1.79

1. Added x64 support on Windows, Linux and Mac OS X.
2. Added conditional breakpoint support.
3. Added BE8 and BE32 big endian program file support.
4. Source lines can now be expanded to show the affiliated instructions (inline disassembly).

## Version 1.78a

1. None.

## Version 1.78

1. None.

## Version 1.76a

1. None.

## Version 1.76

1. Added C++ support.
2. Added a plugin providing FreeRTOS awareness.

## Version 1.74a

1. None.

## Version 1.74

1. Added Mac OS X support.
2. Added an RTOS-kernel awareness interface to the debugger.
3. The debugger now ships with a plugin that provides embOS kernel awareness.

## Version 1.72d

1. None.

## Version 1.72c

1. None.

## Version 1.72b

1. None.

## Version 1.72a

1. None.

## Version 1.72

1. Added Linux OS support.

## Version 1.71g

1. Added a plugin interface.

## Version 1.71f

1. Added commands that return principal program addresses: "Elf.GetBaseAddr", "Elf.GetEntryPointPC" and "Elf.GetEntryFuncPC".

## Version 1.71e

1. None.

## Version 1.71d

1. Added an user manual. The user manual can be opened from the help menu.

## Version 1.71c

1. None.

## Version 1.71b

1. None.

## Version 1.71a

1. None.

## Version 1.71

1. Added support for ARM7, ARM9, ARM11, Cortex-A and Cortex-R target devices.

## Version 1.69

1. Added data breakpoint support.

## Version 1.67d

1. None.

## Version 1.67c

1. None.

## Version 1.67b

1. None.

## Version 1.67a

1. None.

## Version 1.67

1. None.

## Version 1.65

1. Project file scripting support.
2. Added a debugger API that can be invoked from the command line or project file.
3. Added a context menu entry "view data" to the symbol windows that navigates to a symbol?s data location.
4. Added a navigation history to the source viewer.

## Version 1.63

1. Added three new connection modes: download & debug, attach to running application and attach & halt.
2. Added a new source viewer context menu entry "set next statement".

## Version 1.61

1. Internal version.

## Version 1.59

1. Added callframe sensitivity to the debugger. The local data window and the register window now adapt output to the selected call stack frame.
2. Added a GUI-preferences dialog allowing the configuration of fonts, colors and other options.

## Version 1.57

1. None.

## Version 1.55c

1. None.

## Version 1.55b

1. None.

## Version 1.55a

1. None.

## Version 1.55

1. None.

## Version 1.53a

1. None.

## Version 1.53

1. Disassembly Window now supports a "mixed mode" view.

## Version 1.51b

1. None.

## Version 1.51a

1. Automatic change detection and reload of modified application file.

## Version 1.51

1. None.

# Improvements

## Version 2.50c

1. The default setting for uninstaller option "Remove Application Settings" was set to "no".
2. A small breakpoint icon on an unexpanded source code line now indicates that at least one breakpoint is set on an instruction affiliated with the line.
3. Byte sizes of source files are now computed as the sum of byte sizes of all contained functions. Previously, byte sizes were computed as the difference between high and low PC values.
4. Added user preferences PREF_NO_SRC_EDIT and PREF_NO_SRC_EDIT_ONLINE.
5. Added context menu entry "Show Instruction Encodings" to the disassembly window.
6. Updated the included J-Link library to version 6.20d.

## Version 2.50b

1. A message box notification is shown when system variable VAR_BREAK_AT_THIS_SYMBOL is invalid.
2. The execution counter display state is saved session persistently to user perspective files.
3. Updated the included J-Link library to version 6.20a.

## Version 2.50a

1. None.

## Version 2.50

1. Updated the included J-Link library to version 6.20.

## Version 2.47

1. The timeline window's zooming behaviour has been reworked to allow continous zoom level adjustments.
2. File path resolution settings do no longer have to be specified before opening the program file.
3. Literal data is no longer disassembled as program code.
4. Disassembly for PC-relative load instructions now displays the values of loaded data.
5. Added command line arguments --jlinkscriptfile and --jtagconfig.
6. Added command 'Project.AddRTTSearchRange'.
7. Added user preferences PREF_SHOW_ENCODINGS_ASM and PREF_SHOW_ENCODINGS_ITRACE.

## Version 2.46c

1. Updated the included J-Link library to version 6.18d.

## Version 2.46b

1. None.

## Version 2.46a

1. Updated the included J-Link library to version 6.18c.

## Version 2.46

1. Added option "clear on reset" to the terminal window.

## Version 2.45a

1. Ozone's expression evaluator now supports multi-dimensional arrays subscripts.
2. Ozone's touchpad scrolling behaviour was improved.
3. Command line option "--datafile" was replaced with option "--programfile".
4. Command "File.Open" does no longer download the opened program when a debug session is running.
5. Added user preference "PREF_MAX_SYMBOL_MEMBERS".
6. Updated the included J-Link library to version 6.18a.

## Version 2.45

1. The C++ runtime library is now statically linked to avoid possible library dependancy issues on linux.
2. The table column state and the toolbar state are now saved to/restored from user perspective files.
3. Table header titles are now aligned identical to column content.
4. When the J-Link dialog is accepted, a notification dialog will appear that allows users to commit changes to the project file.
5. The address input box of the memory window now supports expression input. When the expression value changes, the memory window auto-scrolls to the new value.
6. The memory window now accepts drops of register and symbol items.
7. Added option "parent relative load" to the code profile window. When set, the CPU load of an item is displayed relative to its parent item.
8. Added command "Debug.ReadIntoTraceCache".
9. Added columns "Address" and "Description" to the register window.
10. Updated the included J-Link library to version 6.18.

## Version 2.44e

1. None.

## Version 2.44d

1. None.

## Version 2.44c

1. Improved integration of pointing devices with horizontal scrolling capability.
2. Updated the included J-Link library to version 6.16j.

## Version 2.44b

1. Added checkbox "override trace timings" to the trace settings dialog.
2. Updated the included J-Link library to version 6.16i.

## Version 2.44a

1. Updated the included J-Link library to version 6.16h.

## Version 2.44

1. When completing the trace settings dialog, the user is now asked if changes should be commited to the project file.
2. The project wizard now automatically selects an appropriate SVD-file for the private peripheral bus when a Cortex-M device is selected.
3. Trace configuration was reworked. Added new commands "Project.SetTraceSource", "Project.SetTraceTiming", "Project.SetTracePortWidth" and "Project.ConfigSWO". Command "Project.SetSWO" is now obsolete. Use commands "Project.ConfigSWO" and "Project.SetTraceSource" instead.
4. SWO Settings have been moved from the terminal settings dialog to the trace settings dialog.
5. Restructured the command layout within wizard-generated script function "OnProjectLoad".
6. The disassembly window no longer shows source line labels affiliated with invalid symbol information (optimized code).
7. Source file resolution information is now aggregated and output in a single log message.

## Version 2.42b

1. Updated the included J-Link library to version 6.16f.

## Version 2.42a

1. Updated the included J-Link library to version 6.16e.

## Version 2.42

1. The Code Profile Window now displays code profile statistics on two more tree levels: "source line" and "instruction".
2. Added two additional code profile filters: "Coverage.Exclude" and "Coverage.Include".
3. The code profile CSV export was reworked. Users may now select the program entity reported about.
4. For pointer-type symbols, "view.data" now jumps to the memory location pointed to instead of the pointer location.
5. Contents of debug windows with PC-dependant data is no longer cleared when the program is resumed. Instead, content is grayed out.
6. Added two new user preferences: "PREF_SHOW_SYMBOL_TOOLTIPS" and "PREF_SHOW_HEX_BLOCKS".
7. Tooltips have been reworked to use less display space.
8. CSV exports now use comma as column separator to improve compatibility with CSV viewers.

## Version 2.40d

1. None.

## Version 2.40c

1. Updated the included J-Link library to version 6.16b.

## Version 2.40b

1. None.

## Version 2.40a

1. None.

## Version 2.40

1. The instruction breakpoint has been split into two types: normal and derived from source. The latter is displayed using a smaller diameter icon.
2. The ID number of a breakpoint (as required by certain commands) has been changed into a text ID (address or source location).
3. The breakpoint window has been reworked.
4. Multiple hotkeys were adjusted in order to conform to IDE standards.
5. The disassembly window's text highlighting was improved.
6. For mixed mode disassembly, the display of labels and source lines can now be toggled individually.
7. The hotkey navigation behaviour of the timeline window was improved.
8. Ozone's source-stepping code was improved in order to support current versions of GCC.
9. The instruction trace and timeline windows now retain their data content when the program is resumed.
10. Within the Windows start menu, the version number was added to the application name.
11. Added a new main menu "Window" that aids in navigating the currently open debug information windows.
12. The Memory Window now supports drag & drop of program symbols.
13. Added a context menu entry to the source viewer that allows to select the line number frequency.
14. The source viewer now supports further standard hotkeys such as F3, Ctrl+F3 and Ctrl+Tab.
15. The source viewer's line number, execution counter and inline assembly fonts can now be configured individually via the user preference dialog.
16. When navigating from the source viewer to another debug window via a shortcut, the ESC key can now be used to switch back to the source viewer.
17. When navigating instruction trace rows, function blocks are now auto-expanded.
18. The column order and sort indicator of table windows is now maintained persistently across sessions.
19. The register groups "All" and "Current" on Cortex-M have been merged into a single register group "CPU".
20. Added two new user preferences: "PREF_INDENT_INLINE_ASSEMBLY" and "PREF_DIALOG_SHOW_DNSA".
21. Updated the included J-Link library to version 6.14h.

## Version 2.32

1. Improved Ozone's compatibility with color themes.

## Version 2.31

1. Updated the included J-Link library to version 6.14c.

## Version 2.30d

1. None.

## Version 2.30c

1. None.

## Version 2.30b

1. None.

## Version 2.30a

1. None.

## Version 2.30

1. None.

## Version 2.29

1. The call graph window now displays information about the stack usage of functions.
2. Added support for context-sensitive symbol tooltips (source viewer).
3. 32-bit thumb instructions are now displayed as two individual halfwords.
4. The call stack window got four additional columns: stack info, PC, return address and return address location.
5. Added system variable "VAR_TRACE_PORT_WIDTH".
6. The log-message quality was improved.
7. Various performance improvements.
8. Updated the included J-Link library to version 6.14b.

## Version 2.22p

1. The disassembly window now also displays absolute branch addresses.
2. Source viewer context menu entries "View.Source", "View.Disassembly" and "View.Data" no longer require a text selection to be made.

## Version 2.22o

1. Arguments to command "Exec.Command" may now include Ozone directory macros.
2. Updated the J-Link software library to version 6.12i.

## Version 2.22n

1. None.

## Version 2.22m

1. Changed command "Project.SetRootPath" to "Project.AddRootPath".
2. Improved error message logging in cases where unknown or invalid ELF information is encountered.
3. Updated the included J-Link library to version 6.12f.

## Version 2.22l

1. None.

## Version 2.22k

1. None.

## Version 2.22j

1. Updated the included J-Link library to version 6.12d.

## Version 2.22i

1. None.

## Version 2.22h

1. None.

## Version 2.22g

1. None.

## Version 2.22f

1. Updated the included J-Link library to version 6.12b.

## Version 2.22e

1. The user manual was updated to version 2.22 rev. 3.
2. Updated the included J-Link library to version 6.12.

## Version 2.22d

1. Update the J-Link library to version 6.10n.

## Version 2.22c

1. None.

## Version 2.22b

1. None.

## Version 2.22a

1. None.

## Version 2.22

1. Ozone has been tested for runtime errors using valgrind and GCC sanitizers with the result of an overall improved stability.
2. Added new command "Project.SetJLinkLogFile".
3. Added new commands "Profile.Include" and "Profile.Exclude" that facilitate filtering of items within the code profile window.
4. Improved the disassembly window?s auto-scrolling behavior.
5. The selected source text is now evaluated as expression and the result is shown in a tooltip.
6. Added two more columns to the FreeRTOS task window: notify value and notify state.
7. Expressions can now be edited after having been added to the watched data window.
8. A message dialog now warns users in case the connection to the target MCU has been lost.
9. Updated the J-Link software library to version 6.10j.

## Version 2.20j

1. Updated the J-Link software to version V6.10h.

## Version 2.20i

1. None.

## Version 2.20h

1. None.

## Version 2.20g

1. None.

## Version 2.20f

1. None.

## Version 2.20e

1. None.

## Version 2.20d

1. None.

## Version 2.20c

1. The default data export directory was set to the user home directory.

## Version 2.20b

1. None.

## Version 2.20a

1. None.

## Version 2.20

1. The "Find" context menu entry now performs an infix instead of a prefix substring search.
2. Navigation facilities of the source viewer were improved. Added horizontal scrolling via Ctrl-up/down and functionality for Home and End keys.
3. Reworked visualization of breakpoints and PC indicators within inline disassembly.

## Version 2.18c

1. None.

## Version 2.18b

1. None.

## Version 2.18a

1. None.

## Version 2.18

1. Ozone crashed on Mac when undocking a window that contained a tabbar. Fixed.

## Version 2.17

1. Data breakpoints can now be edited via script command "Break.EditOnData" or via the context menu of symbol windows.
2. The data breakpoint dialog now allows to specify the breakpoint?s memory location as symbol expression.
3. The text value of string-type symbols can now be edited.
4. The call graph window now determines caller-callee relationships via disassembly analysis instead of source-code analysis.
5. The loading time of ELF-Files was improved by a factor of 3.
6. Added a context menu entry "Find" to all table windows that allows users to search for a particular item within a particular column.
7. Added coprocessor register scripting support via commands ?Target.SetReg? and ?Target.GetReg?.
8. The last table row of the watched data window now acts as an input field.
9. The new project wizard now opens the peripheral file selection dialog in "/Config/Peripherals" per default.
10. Added a checkbox to the bottom of all notification dialogs allowing the dialog to be suppressed.

## Version 2.16h

1. None.

## Version 2.16g

1. None.

## Version 2.16f

1. None.

## Version 2.16e

1. None.

## Version 2.16d

1. None.

## Version 2.16c

1. None.

## Version 2.16b

1. None.

## Version 2.16a

1. None.

## Version 2.16

1. None.

## Version 2.15b

1. None.

## Version 2.15a

1. None.

## Version 2.15

1. Each symbol now displays an icon resembling the symbol type. Icon colors can be modified via the user preference dialog.
2. Changed the algorithm for determining the optimal table column widths from a max-width to a histogram-based heuristic.
3. Context menu entries "display" and "display as" are now available for each table column.
4. A more specific error message is printed to the console window when a data breakpoint cannot to be set.
5. All dialogs can now be closed using the escape key.
6. The J-Link settings dialog now displays information about the connected emulator and J-Link software version.
7. On windows, Ozone now ships with the J-Link software library included within its application directory. This allows for an uncomplicated exchange of individual J-Link runtime versions.
8. Reworked the toolbar icons.

## Version 2.14h

1. None.

## Version 2.14g

1. None.

## Version 2.14f

1. None.

## Version 2.14e

1. None.

## Version 2.14d

1. None.

## Version 2.14c

1. None.

## Version 2.14b

1. None.

## Version 2.14a

1. None.

## Version 2.14

1. The project wizard now writes a project command to the project file that selects the default CPU register set description file.
2. An error message is output to the console window when loading a project file that does not specify a CPU register set description file.
3. The register window now displays contents in offline mode.
4. ELF-File loading time and memory footprint were improved.
5. Memory window auto refresh is now also available when debugging on MCU?s without background memory access.
6. Solidified memory-IO operations - particularly covering situations where the program is running.

## Version 2.12c

1. None.

## Version 2.12b

1. None.

## Version 2.12a

1. None.

## Version 2.12

1. Reworked the "instruction trace window": the window now groups instructions into function nodes.
2. Improved the loading time of ELF-Files.
3. Added a drop-down-list to the source-viewer header bar that allows users to filter functions by scope.
4. Reworked the source viewer?s symbol tooltip. It now display additional information about the symbol.
5. Updated the J-Link software version to v5.10g.

## Version 2.10d

1. Reduced memory consumption when loading program files with high symbol count.

## Version 2.10c

1. Updated the user manual to include the description of path macros.
2. Command "Project.AddSearchPath" now accepts relative file paths.

## Version 2.10b

1. None.

## Version 2.10a

1. None.

## Version 2.10

1. Added a new command "Project.SetBPType(int Type)" and System variable "VAR_BREAKPOINT_TYPE" that set the default breakpoint implementation type.
2. Added new commands "Break.SetEx (Addr, Type)", "Break.SetOnSrcEx (sLocation, Type)" and "Break.SetType (ID, Type)" that allow users to specify the implementation type of a breakpoint.
3. Added new command "Debug.Exec (const char* sCommand)" that executes a J-Link command (see J-Link SDK user manual).
4. Added support for CPU-Register-subgroups within the register window. Specific subgroup via register tag "groupName" within SVD files.
5. Command "Watch.Add" can now be given an arbitrary C-syntax expression.

## Version 1.79

1. Added a new command "File.Load (const char* sFileName, U32 Address)" that downloads a data (program) file to the MCU without doing a prior hardware-reset.

## Version 1.78a

1. Added the possibility to set the display mode for each symbol individually. The context menu entry was split into entries "Display As" and "Display All As".
2. Added a new command "Edit.DisplayFormat (Symbol, Format)" that allows users to adjust the display format of symbols or registers.
3. Added the possibility to configure which data types display a textual representation next to their value.
4. In case the project directory contains a J-Link script (same name as project file, but using ?.jlink? extension) it is executed when the debug session is started.

## Version 1.78

1. A new user preference was added to the terminal window and to the user preference dialog: "suppress control characters".
2. Added a new display format "character" to the symbol windows that displays values as ASCII or unicode characters.
3. The hotkey for step-into (F11) was replaced with F7 on Mac OS X, as F11 is usually already assigned.
4. Added text selection capability to the instruction trace window.
5. Added a new command "Project.SetTifScanChain (int DRPre, int IRPre)" for JTAG scan chain configuration.
6. Added support for CMSIS-SVD register arrays (tags: dim, dimIndex, dimIncrement).
7. Added support for CMSIS-SVD field enumerators (tag: enumeratedValue) and tooltip descriptions.
8. Added a "this pointer" to the local data window.
9. Enumeration variables no longer display child items but a value string of the form "enumerator name (const value)".
10. When double-clicking an instruction within the instruction trace window, the affiliated source and disassembly lines are displayed within the source viewer and the disassembly window, respectively.
11. A shortcut to the user manual was added to the windows start menu.
12. The application executable, the libraries files and the windows installer are now digitally signed.
13. File paths can now be specified relative to the current working directory.
14. Automatically selected peripheral svd files now include the path macro "$InstallDir" instead of an absolute file path.
15. Removed column "namespace" from the local data window.
16. Symbol windows no longer contain columns "namespace" and "access" when debugging a c application.
17. Symbols of type "char" now display the ASCII character associated with the symbol value.
18. Symbols of type "const char*" now display the string associated with the symbol value.

## Version 1.76a

1. None.

## Version 1.76

1. Added C++-support to the ELF parser module and improved its performance.
2. A hourglass cursor is now displayed while a program file is beeing opened.
3. Improved the performance of the embOS awareness plugin.

## Version 1.74a

1. Added call-frame sensitivity to the register window.
2. Both the foreground and background colors of change levels can now be configured.
3. File paths can now be specified relative to the project file-. installation- ,or program file directories.
4. Added directory macros $(InstallDir), $(ProjectDir), $(PluginDir), $(ApplicationDir), $(DocDir), $(LibraryDir) to the scripting interface.
5. Empty debug information windows are grayed out and display a label informing about the device state.

## Version 1.74

1. The J-Link settings dialog is now also available on Linux and Mac.
2. Added a new button "Open Existing Project" to the welcome screen.
3. A message is printed to the console window when ETM (instruction) trace is not supported.
4. Added user action "view.source" that displays the source code location of a symbol.
5. Added a write cache to the memory window.
6. The memory window now udpates change levels while the program is running and automatic update is active.

## Version 1.72d

1. None.

## Version 1.72c

1. None.

## Version 1.72b

1. None.

## Version 1.72a

1. None.

## Version 1.72

1. None.

## Version 1.71g

1. Binary bit field strings are now divided each four bits by a white space for better readability.
2. Data file paths can now be specified relative to the project or root directory when using command "File.Open".
3. Removed obsolete source files from the debugger?s directory tree.
4. Resolved compilation issues on the Mac?s XCode compiler.
5. Removed system variables VAR_HW_RESET_TYPE, VAR_INIT_REGS and VAR_RESET_DELAY.

## Version 1.71f

1. Updated the employed Qt software library to version 6.8.6.
2. The project wizard now generates the script function ?AfterTargetDownload? per default when a Cortex-M target device is selected. Within that function, the command ?Elf.GetBaseAddr? is used to resolve the reset vector.

## Version 1.71e

1. None.

## Version 1.71d

1. None.

## Version 1.71c

1. Added support for Cortex-M7 MCU?s.

## Version 1.71b

1. Added commands supporting file path resolution: "SetRootPath", "AddFileAlias", "AddSearchPath" and "AddPathSubstitute".

## Version 1.71a

1. Improved the parsing time of ELF mapping symbols.
2. Improved the performance of the local data window when in auto mode.
3. Added console text color options to the user preference dialog.
4. When the PC line is invisible and is automatically scrolled into view following a step or halt, the PC line is now set to approx. 25% editor height.
5. The memory IO read/write chunk size is now adjusted according to the currently set target interface speed.

## Version 1.71

1. Improved the stepping performance.
2. Added an option to display all global data referenced within the current function to the local data window (auto mode).
3. The project wizard now generates the script function "AfterTargetDownload" only when a Cortex-M device is selected.
4. The register window now displays the current CPU operating mode.
5. The register window now displays flag indicator strings for registers.

## Version 1.69

1. RTT is now automatically enabled when the HW setup supports it and when it has not been explicitly disabled by the user.
2. Debug probe is now queried for SWO capability when determining if the hardware setup supports SWO.
3. The debugger now uses firmware-pre-analyzed SWO data instead of performing the SWO data analysis itself.
4. The symbol windows now display a breakpoint icon if a data breakpoint is set on a symbol.
5. Added the context menu item "View Data" to the register window (for use with peripheral registers).
6. The register window now displays "--------" instead of an empty field if a register value could not be read.
7. Changed the peripheral register updating method from a block-wise to a register-wise on-demand scheme.
8. Guarded ELF-API functions against access with invalid pointer parameters.
9. The new project wizard?s peripherals file selection box was set to be editable.
10. Action "View.Data" was previously only available for top level symbols of the symbol tree and is now available for symbol members as well.

## Version 1.67d

1. None.

## Version 1.67c

1. None.

## Version 1.67b

1. Added a peripheral register set description (.svd) file selection box to the new project wizard.

## Version 1.67a

1. None.

## Version 1.67

1. Reworked the scripting API.
2. Renamed command "Break.SetOnLine" to "Break.SetOnSrc".

## Version 1.65

1. Reworked the syntax and feedback messages of multiple commands.
2. Reworked the way the console window performs asynchronous text output.
3. Separated command "Debug.SetNextPC(...)" into "Debug.SetNextPC (address)" and "Debug.SetNextStatement (source location)" for easier use as scripting commands.
4. Activating context menu entry "View source" on local symbols without source line information now jumps to the symbol?s parent function instead.
5. Added support for colorized console text.
6. Added support for adding multiple peripheral files to the register window (instead of only one) and changed command "Project.SetPeripheralFile" to "Project.AddPeripheralFile".
7. Added .xml as recognized extension of peripheral register files.

## Version 1.63

1. The find-dialog now adopts the selected text as search string and focuses the search text box when opened.
2. Added support for cross-session persistent GUI preferences.
3. Frequency-related system variables are now showing their dimension.
4. Added support for floating-point frequency names, for ex. "104,34 kHz".
5. Icons colors now adapt to changes in user color preferences.
6. Improved memory value caching.
7. Added a horizontal scrollbar to the disassembly window.
8. The local data window now remembers its item expansion state when switching between functions.

## Version 1.61

1. Internal version.

## Version 1.59

1. The source viewer now displays the values of variables in a tooltip when hovering over variable names within the source text.

## Version 1.57

1. Added DWARF V4 type unit support.

## Version 1.55c

1. Added the option to display source line numbers.
2. Improved the algorithm used to resolve the source line affiliated with a machine instruction.

## Version 1.55b

1. The breakpoint window now displays source line breakpoints that map to multiple machine instructions as expandable table items.

## Version 1.55a

1. Changed the size of breakpoint icons.

## Version 1.55

1. Added support for inline function expansions.
2. Added a "watch" context menu entry to the watched data window.

## Version 1.53a

1. None.

## Version 1.53

1. Disassembled instructions are now cached to improve performance.
2. Removed syntax highlighting from the function- and source file windows.
3. The local data window now auto-resizes the location column whenever a symbol location changes.

## Version 1.51b

1. None.

## Version 1.51a

1. None.

## Version 1.51

1. None.

# Program corrections

## Version 2.50c

1. The disassembly window was cleared and remained empty when the program file was reloaded in offline mode. Fixed.
2. When a data file was opened, the source viewer's document state was possibly not restored correctly. Fixed.
3. Fixed multiple bugs related to the display and layout of window items.

## Version 2.50b

1. ELF files without data sections could possibly not be loaded. Fixed.
2. When system variable "BreakAtThisSymbol" was set to an invalid value and the ELF file did not provide entry point information, the program was resumed following reset. Fixed.
3. The initial disassembly view location was possibly determined incorrectly when the ELF file did not provide entry point information. Fixed.

## Version 2.50a

1. Library libQtWebKit.so.4 contained an invalid dynamic linker name. Fixed.
2. Removed invalid symlink 'libQtWebKit.so.' from subfolder Lib. Fixed.
3. User perspective files of older format possibly caused the state of table windows to be restored incorrectly. Fixed.

## Version 2.50

1. Source breakpoints with mixed-state derived breakpoints could not be cleared by clicking on the sidebar. Fixed.
2. FreeRTOS-Plugin: the xPSR register value was updated to an invalid value when switching tasks. APSR, IPSR and EPSR were not affected. Fixed.
3. When the complete document text was deleted, undo was not available. Fixed.
4. Incorrect disassembly output in offline mode when symbol relocation settings were used. Fixed.
5. Fixed multiple bugs related to the display and layout of window items.

## Version 2.47

1. Directory macros were expanded with trailing directory separator but should have been expand without. Fixed. Please note that users may have to adjust their project's path resolution settings following this change.

## Version 2.46c

1. The window layout was possibly restored incorrectly from user perspective files on certain platforms such as ARCH-Linux. Fixed.
2. Incorrect initial width of the register window's name column following debug session start. Fixed.
3. Register descriptions were possibly cut off within tooltips. Fixed.
4. Console feedback for commands containing the dollar sign was erroneous. Fixed.
5. When the text cursor was positioned on empty source lines, view-category actions could still be triggered via hotkey. Fixed.
6. Fixed multiple bugs related to the display and layout of window items.

## Version 2.46b

1. Editing memory window items possibly caused the editor to jump to undefined locations. Fixed.
2. Integer variables with type string "long ulong" were possibly misinterpreted as 32 bit integers. Fixed.
3. User perspective files: dock window height restored incorrectly by the title bar margin. Fixed.
4. CMSIS-SVD tag "cluster" was not supported. Fixed.
5. Fixed multiple bugs related to the display and layout of window items.

## Version 2.46a

1. Disassembly of PC-relative load/store instructions possibly displayed incorrect data addresses. Fixed.
2. Action "View.Source" was possibly jumping to incorrect source lines when used via hotkey. Fixed.
3. Fixed multiple bugs related to the display and layout of window items.

## Version 2.46

1. Following program file reload, disabled breakpoints were possibly no longer displayed by the source viewer. Fixed.
2. Startup of Ozone from within SEGGER's Embedded Studio was possibly taking unusually long. Fixed.
3. Modifiying breakpoints via keyboard shortcuts could lead to undefined breakpoint behaviour. Fixed.
4. Fixed multiple bugs related to the display and layout of window items.

## Version 2.45a

1. The command line parser did not accept both "-" and "--" as option specifiers and did not allow dashes in file paths. Fixed.
2. Symbol expressions with enumeration-type array subscripts were possibly not evaluated correctly. Fixed.
3. Local data window contents were cleared when the call stack window was closed. Fixed.
4. Disassembly was not aligned to symbol and section boundaries when in offline mode. Fixed.
5. When the reset mode was RM_RESET_HALT and script function "AfterTargetHalt" was in use, PC highlighting was possibly missing initially. Fixed.
6. Fixed multiple bugs related to the display and layout of window items.

## Version 2.45

1. None.

## Version 2.44e

1. Source viewer arrow key navigation was inoperable on windows. Fixed.
2. The project wizard possibly selected an incorrect SVD file for ARM7/9/11 targets. Fixed.
3. The project wizard did not support single backslashes as directory separators. Fixed.
4. SVD register field arrays possibly not parsed correctly. Fixed.
5. Symbol tooltips were no longer displayed (regression). Fixed.

## Version 2.44d

1. Ozone possibly crashed when viewing the FreeRTOS task list while RAM was not initialized. Fixed.
2. The layout of stacked debug information windows was not restored correctly from user perspective files. Fixed.
3. Incorrect display of array elements for arrays with more than 2 dimensions. Fixed.
4. The display of hexadecimal numbers was possibly incorrect when display option "divide big hexadecimal numbers" was set. Fixed.

## Version 2.44c

1. Register window contents were no longer available following a reconnect. Fixed.
2. Certain types of expressions were not evaluted correctly. Fixed.
3. Source viewer arrow key navigation was inoperable on macOS. Fixed.
4. The viewport of the disassembly window could be scrolled beyond address 0. Fixed.
5. On unix, the file dialog did not allow to select files without extension.
6. Fixed multiple bugs related to the display and layout of window items.

## Version 2.44b

1. The default trace pin sampling delay was configured at 0 ns, but should have been 2 ns. Fixed.

## Version 2.44a

1. The debian installer contained an invalid library dependancy. Fixed.
2. RTT IO could not be started when no program file was specified. Fixed.
3. Following a reload of a modified program file, disassembly output was possibly incorrect. Fixed.
4. Branch labels for CBZ/CBNZ instructions were not displayed. Fixed.
5. Hotkeys "y" and "n" for dialog buttons yes and no were not accepted. Fixed.
6. Entering "?" or "help" into the console did no longer print the command list. Fixed.
7. Fixed multiple problems related to the layout and display of window items.

## Version 2.44

1. Enum-type symbol members were possibly displayed at a wrong byte size. Fixed.
2. Ozone tooltips possibly remained on top of other windows. Fixed.
3. Fixed multiple bugs related to the display and layout of GUI items.

## Version 2.42b

1. Sidebar breakpoint indicators were possibly lost when reloading a modified program file. Fixed.
2. Possible incorrect frame alignments within the timeline window. Fixed.
3. Pressing hotkey F6 triggered command "Debug.Halt" multiple times. Fixed.
4. When no data file was specified and the connection mode was "Attach & Halt", disassembly output was possibly incorrect. Fixed.
5. Script error when specifying negative numbers in project files. Fixed.

## Version 2.42a

1. XMC 1100 series devices were no longer selectable within the device selection dialog. Fixed.
2. Scope of local variables possibly determined incorrectly. Fixed.
3. The expression evaluator neglected the program execution point scope when evaluating symbol expressions. Fixed.

## Version 2.42

1. The CSV output of the Data Graph Window contained non-printable characters. Fixed.
2. Fixed a possible infinite recursion in the ELF parser module. Fixed.
3. When searching for text, button "Find Next" needed to be clicked twice in order to jump from the last to the first matching line.
4. When SWO speeds were configured within the project file, SWO data capture was not started on debug session start. Fixed.
5. Floating dock windows were not closed when pressing the corner button. Fixed.
6. User Action "View.InstrTrace(n)" did not select instruction n. Fixed.
7. Fixed multiple bugs related to the display and layout of window items.

## Version 2.40d

1. On Linux, Ozone possibly did not start on distrubutions with Qt4 versions other than 4.8.6. Fixed.
2. Script command "Target.GetReg" possibly returned incorrect values. Fixed.
3. Dwarf-V4 attributes of type "DW_FORM_ref_addr" were not evaluated correctly. Fixed.
4. Symbols with constant or undefined data locations were possibly showing incorrect values. Fixed.

## Version 2.40c

1. Byte sizes of 32-bit integer array elements were possibly evaluated as 8 bytes. Fixed.
2. Expressions containing members of anonymous structures were not evaluted correctly. Fixed.
3. Fixed multiple bugs related to the display and layout of window items.

## Version 2.40b

1. CMSIS SVD files: field arrays possibly not parsed correctly. Fixed.
2. ELF library: fixed a parse error that occurred in conjunction with unsupported Dwarf-V5 location expressions. Fixed.

## Version 2.40a

1. The Q flag of the XPSR register was displayed incorrectly within register group "All Cpu Registers". Fixed.
2. When a document was closed within an inactive source viewer, the active debug information window was closed instead. Fixed.
3. Fixed multiple bugs related to the display and layout of window items.

## Version 2.40

1. On MacOS, the find dialog opened up behind the main window and could no longer be used. Fixed.
2. When switching from an IP connection to USB, Ozone could not connect to the target. Fixed.
3. When no program file was downloaded on debug dession start, disassembly output was possibly wrong. Fixed.
4. Stepping onto a disabled source breakpoint could possibly clear the breakpoint. Fixed.
5. Setting a breakpoint's type to "soft" could have erratic side effects such as clearing the breakpoint. Fixed.
6. Program files of s-record type (.mot, .srec) larger than 1MB could possibly not be opened. Fixed.
7. Tooltips were possibly displayed outside of the desktop area. Fixed.
8. Performing a text selection anchored at the start or end of a source line did not work properly. Fixed.
9. The source viewer only displayed the first instruction block of multi-block source lines. Fixed.

## Version 2.32

1. Context menu entry "view data" possibly navigated to a wrong data location for local symbols. Fixed.

## Version 2.31

1. Under connection modes "Attach & Halt" and "Attach", instruction trace output was not correct. Fixed.

## Version 2.30d

1. Using "expand all" within the source viewer multiple times in a row could lead to duplicate assembly code rows being shown. Fixed.

## Version 2.30c

1. Under special circumstances, source file paths were possibly displayed multiple times within the source files window. Fixed.

## Version 2.30c

1. Under special circumstances, source file paths were possibly displayed multiple times within the source files window. Fixed.

## Version 2.30b

1. Fixed a possible crash that occurred when a program file was downloaded after flash memory was erased. Fixed.
2. Ozone did not skip the special filename "built-in" that some compilers emit to the ELF source file table. Fixed.
3. In situations where an SFR's data range was visible within the memory window, the register value was not updated correctly. Fixed.

## Version 2.30a

1. Program files of s-record type (.mot, .srec) could not be opened when records were terminated by a single line feed or cariage return character. Fixed.
2. In certain situations, opening a non-ELF data file via command "File.Open" could cause Ozone to crash. Fixed.

## Version 2.30

1. In certain situations, expressions containing pointer arithmetic were not evaluated correctly. Fixed.
2. Local data window "auto mode" was disfunctional. Fixed.
3. The watched data window was not updating correctly when switching the current frame via the call stack window. Fixed.

## Version 2.29

1. None.

## Version 2.22p

1. Non-linked functions were displaying breakpoint and line expansion indicators. Fixed.
2. Fixed multiple bugs related to the display and layout of GUI items. Fixed.

## Version 2.22o

1. J-Link script files set via command "Project.SetJLinkScript" were not executed on debug session start. Fixed.
2. Project file error messages were limited to 100 characters and printed multiple times to the console window. Fixed.

## Version 2.22n

1. The local data window did not always display the "this pointer" entry when stepping inside class functions. Fixed.
2. Ozone did not start when a log file was specified. Fixed.

## Version 2.22m

1. None.

## Version 2.22l

1. The call graph window did not display content. Fixed.
2. The call stack was possibly not build correctly in situations where a call frame's return address was specified to be contained within register R14. Fixed.

## Version 2.22k

1. Register bit-fields where not updating correctly when the parent register was out of view. Fixed.
2. The element capacity of multi-dimensional arrays was not always evaluated correctly. Fixed.

## Version 2.22j

1. Fixed a possible performance problem when loading ELF-Files on non-Cortex-M targets. Fixed.

## Version 2.22i

1. The register window displayed incorrect register values for suspended tasks. Fixed.
2. When setting or clearing data breakpoints, not all windows were updating icons immediately. Fixed.

## Version 2.22h

1. When command "Edit.Color" was executed from a script function, color name input such as "steelblue" was not recognized. Fixed.
2. The application crashed when editing invalid memory (marked with dashes) via the memory window. Fixed.

## Version 2.22g

1. The application crashed when dragging & dropping source-viewer text onto the watched data window. Fixed.
2. On Cortex-A/R and ARM targets, the Local Data Window possibly displayed incorrect symbol data locations and the Register Window possibly displayed incorrect register values. Fixed.

## Version 2.22f

1. Non-printable characters were displayed incorrectly within symbol windows and tooltips. Fixed.
2. The data locations of local symbols with block-scope was possibly not evaluated correctly. Fixed.

## Version 2.22e

1. While holding down a stepping hotkey, the PC and LR register values were possibly updated incorrectly. Fixed.
2. Expressions with complex-type array subscripts were possibly not evaluated correctly. Fixed.
3. Expressions containing local register variables were possibly not evaluated correctly. Fixed.
4. Console feedback of command "Elf.GetExprValue" showed incorrect data locations for register symbols. Fixed.
5. CMSIS-SVD value type "ScaledNonNegativeInteger" was not parsed correctly. Fixed.
6. Word-Wrapping within ToolTips did not work correctly. Fixed.
7. When using arrow-down within the Source Viewer, the text cursor could go out of sight. Fixed.

## Version 2.22d

1. Disassembly was not aligned at ELF file segment boundaries and mapping symbols. Fixed.
2. Disassembly showed incorrect instruction encodings outside the program's address range on ARM7/9 MCU's. Fixed.
3. On Windows 10, Ozone did not catch the input focus after the user accepted the reload file dialog. Fixed.
4. When memory was edited while the program was running, Ozone halted the target without querying for BMA capability. Fixed.
5. In certain situations, the instruction trace window was loosing the first chunk of PC backtrace data. Fixed.
6. The data graph window's y-axis auto-scaling was not always working properly. Fixed.

## Version 2.22c

1. Source line coverage statistics were unavailable when debugging on certain Cortex-M target MCU's. Fixed.

## Version 2.22b

1. Possibly bogus call stacks when debugging ELF programs containing DWARF version 4 debug information. Fixed.
2. Call frame register value R0 was not restored correctly in case the location rule was DW_FRAME_SAME_VAL. Fixed.
3. Members of callsite symbols having register-based memory locations were not always evaluated correctly. Fixed.
4. J-Link error and warning messages were not delegated to the console window. Fixed.

## Version 2.22a

1. Reset to symbol was broken. Fixed.

## Version 2.22

1. None.

## Version 2.20k

1. The call frame context was not updated before evaluating conditional breakpoints. Fixed.
2. The first column of table windows was not initially sorted in ascending order. Fixed.

## Version 2.20j

1. Crash in J-Link software version 6.10d when closing threads. Fixed.

## Version 2.20i

1. System variable "VAR_BREAK_AT_THIS_SYMBOL" could no longer be set via command Edit.SysVar. Fixed.
2. Symbol values that contained block separator characters could not be edited. Fixed.
3. The disassembly window?s base address could be set to the second half-word of 32-bit instructions leading to incorrect disassembly. Fixed.
4. Segment padding bytes were resolved incorrectly in situations where the first data section ended at a segment boundary. Fixed.
5. "Virtual" was not displayed in the type name of virtual functions (C++). Fixed.
6. When canceling a message box via the escape key, the dialog was accepted instead of being rejected. Fixed.

## Version 2.20h

1. Possibility of infinite script function recursion when using certain commands within certain script functions. Fixed.
2. Possibility of incorrect disassembly when scrolling upwards within the disassembly window. Fixed.
3. Target memory was not read item-wise as fallback in situations where 0 bytes of block were read successfully. Fixed.

## Version 2.20g

1. An explicit readback of values written to target memory via symbol windows was performed. This could induce unwanted side effects when writing to special function registers.
2. Setting system variables via command "Edit.SysVar" crashed the debugger. Fixed.
3. Disassembly window: instruction encoding incorrect for mixed endianess targets. Fixed.

## Version 2.20f

1. C++ 11 data type "_Bool" was not supported. Fixed.

## Version 2.20e

1. Source viewer inline disassembly: address strings displayed in wrong format for instructions with invalid encoding. Fixed.
2. Source viewer sidebar: instruction icons were displayed on invalid text lines. Fixed.
3. Watched expressions could not be edited while the program was running. Fixed.
4. Inline disassembly did not separate trailing data blocks from instruction blocks. Fixed.

## Version 2.20d

1. Fixed a generic program crash. Fixed.

## Version 2.20c

1. Updated the J-Link software to version 6.10a.
2. The code profile window showed incorrect execution counts following a reload of the program file. Fixed.
3. Instruction trace data was lost in scenarios of quickly succeeding stop/resume operations. Fixed.

## Version 2.20b

1. The functionality of project command "Project.AddPathSubstitute" was broken.
2. Context sensitivity was broken in situations where the call stack contained a call site multiple times. Fixed.
3. Deadlock between the GUI and target sheduler threads. Fixed.
4. The disassembly of external library functions could not be exported. Fixed.
5. The total encompassed address range of header files was determined incorrectly. Fixed.

## Version 2.20a

1. The memory window?s data content was unintentionally displayed as invalid after changing the item display format. Fixed.
2. Data breakpoints could not be set on symbols whose name matched a hexadecimal value. Fixed.
3. Fixed a possible problem with infinite recursion within the call stack generation code. Fixed.
4. Instruction trace data was unintentionally cleared when selecting a task within the task window. Fixed.

## Version 2.20

1. Fixed a synchronization issue that could lead to register accesses while the target was running. Fixed.
2. The device selection dialog allowed the selection of Core #2 for single-core devices. Fixed.
3. Expressions including pointers did not evaluate correctly in some cases. fixed.
4. System variable "VAR_BREAK_AT_THIS_SYMBOL" could not be set via script function. fixed.
5. Internal warnings were printed to the console window on starting the debugger. fixed.

## Version 2.18c

1. The size of 8-byte integer symbols was displayed as 4 bytes. Fixed.
2. Disassembly window: instruction half-words were displayed in the wrong order. Fixed.
3. Code Profile Window: filtered symbols were unintentionally changing position while the program is running. Fixed.
4. The display of enumeration constants within symbol windows was broken. Fixed.
5. The call stack window did not highlight the selected call frame. Fixed.
6. The sort order of table windows was not restored after reloading the program file. Fixed.

## Version 2.18b

1. The PC line was not always maintained window-centered when stepping into a different source code document. Fixed.
2. The watched data window?s live update mode became inoperable when setting the refresh rates of all watched symbols to 0. Fixed.
3. The display of symbol member lists was limited to 100 entries. Fixed.
4. Symbols of floating point type declared as "constexpr" were not displayed correctly. Fixed.
5. Fixed multiple bugs related to the display and layout of window items.

## Version 2.18a

1. Crash when expanding source code lines. Fixed.

## Version 2.18

1. Crash on Mac when undocking a window that contains a tabbar. Fixed.

## Version 2.17

1. The instruction trace window became inoperable after a restarting the debug session. Fixed.
2. On mac, the application?s monospace font did not adapt to changes of the application font. Fixed.
3. Plugin API function ?OnDebugStart? was called before target connection was established. Fixed.
4. The register window did not display change levels after Resume / Halt cycle. Fixed.
5. The context menu did not always open when pressing the context menu hotkey. Fixed.
6. The memory window performed explicit data readbacks when editing items which could lead to unwanted effects when editing SFR?s. Fixed.

## Version 2.16h

1. Symbol data locations using register-based addressing were not always evaluated correctly. Fixed.
2. On big endian targets, the encoding of assembler instructions was not always displayed in the correct byte order. Fixed.

## Version 2.16g

1. Functions with inline expansions defined in multiple compilation units were displayed as individual functions. Fixed.
2. An infinite recursion within the call stack generation code lead to empty output. Fixed.

## Version 2.16f

1. When script function "AfterTargetConnect" contained a download operation, the main program image was no longer downloaded. Fixed.
2. The memory window did not update correctly when set at address 0x0 when starting the debug session. Fixed.
3. The disassembly window and source viewer displayed incorrect disassembly while the program is running. Fixed.
4. Source lines expanded in online mode were not collapsed when going offline. Fixed.

## Version 2.16e

1. When adding symbols to the watched data window in offline mode, the initial refresh rate was not set correctly. Fixed.
2. After a flash download failed, the error notification dialog was possibly skipped. Fixed.
3. Projects generated by the new project wizard tried to read from the vector table even when no program file had been set. Fixed.
4. CMSIS-SVD tags "writeConstraint", "readAction" and "modifiedWriteValue" were not supported. Fixed.
5. Registers marked as having read-side-effects were read nonetheless. Fixed.
6. Bit-fields of array registers were not displayed correctly. Fixed.

## Version 2.16d

1. ELF mapping symbols were not evaluated correctly for TI-compiler-generated program files leading to various problems such as inoperable breakpoints. Fixed.
2. The license dialog?s serial number field always showed the value 0. Fixed.
3. The watched data window did not display change level highlighting when in live mode. Fixed.
4. When toggling the memory window?s toolbar on targets without background memory access, window contents were not updated correctly. Fixed.
5. The data locations of auto-variables were possibly evaluated incorrectly. Fixed.

## Version 2.16c

1. The context menu did not always open when pressing the keyboard?s context menu key. Fixed.
2. The value of an array expression was considered to be the array bytes instead of the arrays memory address. Fixed.
3. Extra breakpoint actions were performed even when the affiliated checkbox was unchecked. Fixed.
4. Extra breakpoint actions were performed in situations where the PC was on a breakpoint and the target was reset. Fixed.

## Version 2.16b

1. the register window did not display change levels after a resume/halt cycle. Fixed.

## Version 2.16a

1. Fixed a crash within the function window. Fixed.

## Version 2.16

1. ?View.Source? did not jump to the correct source code location in situations where multiple symbols with the same name were defined within different scopes. Fixed.
2. Downlink RTT data transmission was broken. Fixed.
3. Fixed a memory leak within the expression evaluator. Fixed.
4. The instruction trace window became inoperable after restarting the debug session. Fixed.
5. Fixed a possible invalid string buffer access within the ELF-API leading to a program crash. Fixed.
6. Fixed a bug that lead to incorrect disassembly output for address ranges outside the current function. Fixed.
7. When editing registers, input values were interpreted in window display format instead of the register?s display format. Fixed.
8. Plugin API function ?OnDebugStart? was called before a target connection was established. Fixed.
9. Fixed multiple bugs related to the display and layout of window items.

## Version 2.15b

1. The functions window only displayed class names for class constructors. Fixed.
2. Symbol character values were displayed as is, i.e. line feeds were displayed as line feed. Fixed.

## Version 2.15a

1. After reconnecting to the target device, J-Link logging output was no longer displayed. Fixed.
2. The console window did not accept commands "?" and "help" and showed incorrect output on empty input. Fixed.
3. The device selection dialog did not always behave correctly when editing column filters. Fixed.
4. The call stack and used stack size of FreeRTOS tasks what not evaluated correctly. Fixed.
5. Registers R0 and SP of embOS tasks were not evaluated correctly on ARM ports. Fixed.
6. The embOS-plugin did not work with build configurations missing certain TCB members (such as XRelease). Fixed.
7. The status of blocked embOS tasks was not displayed correctly. Fixed.
8. The source viewer could not be scrolled via multi-point touch gestures. Fixed.

## Version 2.15

1. FPU register fields were displayed as floating point numbers. Fixed.
2. In offline mode, static or const data members of null-pointers did not display the correct data location. Fixed.
3. Floating point values were always displayed with maximum precision and could not be edited using comma as decimal separator. Fixed.
4. Expressions containing the cast or address-of operator did not display the correct data location in online mode. Fixed.
5. The debugger crashed upon expanding the this-pointer in situations where it was already expanded in other scopes. Fixed.
6. The cache of uncertainly disassembled instructions was not cleared when the thumb bit changed. Fixed.
7. Fixed multiple bugs related to the display and layout of window items.

## Version 2.14h

1. Coprocessor registers could not be edited. Fixed.
2. The data breakpoint window?s context menu entry "View.Source" was inoperable. Fixed.
3. The console and terminal windows displayed wrong context menus when clicking on their command input fields. Fixed.
4. Source file root path?s including path macros were not recognized. Fixed.
5. Fixed multiple bugs related to the display and layout of window items.

## Version 2.14g

1. J-Link tunnel mode was inoperable. Fixed.
2. The target interface was configured twice when connecting to the target. Fixed.
3. Script command "Elf.GetExprValue" returned an error code instead of the expression value. Fixed.

## Version 2.14f

1. When adding command Debug.Start() to function OnProjectLoad(), the project warning dialog unintentionally popped up. Fixed.
2. When a watched expression?s data type changed, the expression value was not updated correctly.
3. A J-Link firmware dialog message "Unspecified device selected" was sometimes popping up when closing the debug session. Fixed.
4. The J-Link selection dialog had to be closed multiple times when triggered from script command "Exec.Connect". Fixed.
5. Boolean-type symbols could not be edited. Fixed.
6. Fixed multiple bugs related to the display and layout of window items.

## Version 2.14e

1. Anonymous type members were not supported. Fixed.
2. In certain situations, the data location of union members was not computed correctly. Fixed.
3. The project warning dialog?s "open" button was inoperative. Fixed.
4. When setting multiple data breakpoints in offline mode, only the first data breakpoint was applied when going online. Fixed.
5. The debugger possibly crashed when it was closed while a plugin was still performing operations.
6. Breakpoint task filters did not work until the task window was updated at least once. Fixed.
7. Fixed multiple bugs related to the display and layout of window items.

## Version 2.14d

1. Eliminated a deadlock situation that occurred when the debugger was closed while it was executing a script function. Fixed.
2. Resolved file paths possibly contained "cd-up" (\..\) macros. Fixed.
3. The debugger calculated wrong symbol sizes after the program file was reloaded. Fixed.
4. Hotkey for "Run to Cursor" was broken. Fixed.
5. Script command "Target.SaveMemory" did not respect directory macros. Fixed.
6. Command "Project.SetSWO" did not allow to enable SWO before the debug session was started. Fixed.
7. Constant symbol values were not always displayed in the correct data and display format. Fixed.
8. Fixed multiple bugs related to the display and layout of window items.

## Version 2.14c

1. Bit-field registers showed an incorrect number of digits. Fixed.
2. The debugger crashed when adding multiple SVD files containing registers with identical names. Fixed.
3. Incorrect output within the watched data window when both a global and a local variable shared the same name. Fixed.
4. Expressions of floating-point type and constant data location displayed incorrect values. Fixed.
5. Peripheral registers were possibly initialized from incorrect target memory addresses. Fixed.
6. The debugger crashed when opening the file dialog on mac. Fixed.
7. The source viewer?s text selection context menu was broken. Fixed.
8. The delete hotkey was not working on the watched data window. Fixed.

## Version 2.14b

1. The disassembly window displayed "EEEE" for invalid memory data instead of "----". Fixed.
2. Source file paths relative to the program file could not be resolved. Fixed.
3. Fixed a memory leak.

## Version 2.14a

1. The disassembly window showed "no program data" for memory locations that contained program code. Fixed.
2. A warning message "cannot read registers while CPU is running" was popping up in situations where conditional breakpoints were used. Fixed.
3. On linux and mac, context menus needed to be explicitly closed with a mouse click before a reopening was possible. Fixed.
4. Data downloads were performed using the system variable VAR_ACCESS_WIDTH setting which was not intended. Fixed.
5. Virtual ELF segment addresses were handled incorrectly leading to wrong calculation of instruction counts, amongst others. Fixed.
6. The symbol instruction count cache was not cleared when opening an ELF file. Fixed.
7. Symbol text value data was not cleared when closing the debug session. Fixed.
8. The user manual menu entry was inoperable on mac. Fixed.

## Version 2.14

1. When periodically receiving semihosting IRQ?s in quick succession, the debugger became unresponsive. Fixed.
2. On connect, a download error dialog was shown in situations where script function "AfterTargetConnect" contained a "Target.Write" operation. Fixed.
3. The call-frame sensitivity of the register window was broken. Fixed.
4. The size of class member functions was displayed incorrectly. Fixed.
5. The instruction trace window displayed wrong stack positions while scrolling. Fixed.
6. Font styles other than ?normal? could not be set on windows. Fixed.
7. The memory window?s address box drop-down list used a wrong font. Fixed.

## Version 2.12c

1. Crash when loading an CMSIS-SVD file that includes register arrays. Fixed.

## Version 2.12b

1. Fixed a crash that occurred when the source viewer repainted itself at the same time a data file was opened. Fixed.
2. Fixed a crash that occurred when an SVD file was reloaded. Fixed.
3. The call stack was computed incorrectly for interrupted tasks on embOS-versions greater than V3.88a. Fixed.
4. The memory window was not updated correctly in situations where at least 1 byte was not read successfully. Fixed.
5. On Cortex-M, ELF::GetEntryPointPC() had priority over [VectorBaseAddr+4] when initializing the PC. Fixed.
6. The code profile window displayed functions with address ranges of size 0 bytes. Fixed.
7. The symbol size was displayed using the english number format (for ex. 16, 000). Fixed.
8. The device selection dialog?s big endian field was not initialized correctly uppon showing the dialog. Fixed.
9. The code windows displayed incorrect backtrace highlighting color. Fixed.
10. The instruction trace window?s context menu entries "View.Source" and "View.Disassembly" were not available on function headers. Fixed.
11. Assembler code highlighting showed artefacts on linux and mac. Fixed.
12. The project settings applied with "SetJLinkScript" and "AddSvdFile" were not reset when opening a new project. Fixed.
13. The register window did not display registers in offline mode. Fixed.

## Version 2.12a

1. Program files were still not always downloaded correctly. Fixed.
2. Table columns where not sorted case-insensitive. Fixed.

## Version 2.12

1. Program files were not always downloaded correctly. Fixed.

## Version 2.10d

1. Ozone crashed when clicking on a member of a local symbol. Fixed.
2. Ozone crashed when reopening the program file. Fixed.
3. Stepping over source viewer inline disassembly did not work correctly when debugging optimized code. Fixed.
4. Fixed a syntax highlighting error occurring in situations where the document contained both cpp and c-style comments in one line. Fixed.
5. Following a re-configuration of the hardware setup by the user, trace support was not re-evaluated. Fixed.

## Version 2.10c

1. The program crashed when executing command "Target.LoadMemory" using a relative file path. Fixed.

## Version 2.10b

1. The debugger could possibly run into an infinite loop when an ELF-file was opened.

## Version 2.10a

1. Values of peripheral registers were not displayed. Fixed.

## Version 2.10

1. Context menu action "View.Data" did not always display the correct data location for the selected symbol.
2. GHS-compiler generated source file paths could not always be resolved. Fixed.
3. The debugger did not display the correct register values and the correct call stack for tasks selected within the embOS task window. Fixed.

## Version 1.79

1. Incorrect behavior when editing the file input field of the generic memory dialog. Fixed.
2. No command feedback was printed to the console window when editing the display format of a register. Fixed.
3. In situations where the PC was written to programatically, debug information windows were updated using a different PC value than the input. Fixed.
4. Hexadecimal values could not be input for symbols of signed integer type. Fixed.
5. Crash when opening a project while a data breakpoint is set. Fixed.
6. Commands Break.(x)OnSymbol were inoperative from the project file.
7. Keywords embraced by curly braces where not syntax highlighted correctly. Fixed.
8. When a document lined started with a blank, find results were not displayed correctly. Fixed.
9. Numeric value input to command "Project.SetTifSpeed" was not interpreted as Khz value. Fixed. <7li>
10. Hotkeys for welcome screen buttons were inoperable. Fixed.

## Version 1.78a

1. Members of reference-type variables were not displayed.

## Version 1.78

1. The windows installer failed to create a desktop shortcut. Fixed.
2. The windows uninstaller failed to remove the start menu folder. Fixed.
3. The viewport of the instruction trace window could be scrolled over the instruction stack boundary. Fixed.
4. The debugger was not able to load data files without file extension. Fixed.
5. The register set description file "Cortex-A8.svd" was missing. Fixed.
6. Fixed multiple GUI-related bugs within the generic memory dialog. Fixed.
7. When the first data section of an ELF file did not start at the download segments base address, padding bytes were unintentionally downloaded to the target. Fixed.
8. When canceling the J-Link settings dialog, settings where applied nonetheless. Fixed.
9. The application crashed when accepting the device selection dialog when no device was selected. Fixed.
10. The debugger used a wrong path for the application directory ($AppDir) on Mac. Fixed.
11. The debugger was not able to read peripheral registers whose size was not specified within the SVD file. Fixed.
12. The value of enumeration variables was not displayed correctly in certain situations. Fixed.
13. Fixed a program crash due to multiple threads accessing a shared data object at the same time.
14. The memory window displayed incorrect change level highlights when scrolling the window following a program reset. Fixed.
15. Nested namespaces were displayed in wrong order within scoped symbol names. Fixed.
16. In case the MCU core was unknown to the debugger, the project file warning dialog displayed a needless warning message. Fixed.
17. Source files with unknown file extension could not be resolved. Fixed.

## Version 1.76a

1. None.

## Version 1.76

1. The debugger could not select MCU?s whose name contained white spaces. Fixed.
2. On Mac, the application?s dockbar icon resolution was too low. Fixed.
3. The caret was not displayed when editing filters in the device selection dialog. Fixed.
4. The device selection dialog did not support wildcard (*) characters in filter strings. Fixed.

## Version 1.74a

1. The instruction trace capability of the employed HW setup was determined incorrectly. Fixed.
2. An index mapping bug caused faulty register writes on ARM and Cortex-A/R devices. Fixed.
3. The memory window?s change level highlighting was not working in situations where the window was resized and automatic update was active. Fixed.
4. The device selection dialog filters were case-sensitive but should not. Fixed.
5. The device selection dialog did not select a default device when shown. Fixed.
6. Setting the value of pointer variables could potentially lead to infinite recursion and stack overflow. Fixed.

## Version 1.74

1. The source viewer?s text selection context menu was only shown when right-clicking on the cursor line. Fixed.
2. After changing the access width parameter of the memory window, the window?s contents were not drawn correctly. Fixed.
3. On Linux, the maximize button was displayed in a dialog?s title bar but should not. Fixed.
4. On Linux, the title of the input dialog was not fully visible. Fixed.
5. A refiltering of table rows in the device selection dialog was only performed after the input field lost focus. Fixed.
6. Callsite highlighting was incorrect in situations where the target halted in handler mode. Fixed.
7. When setting file path aliases, directory separators had to be specified exactly as given in the program file. Fixed.
8. Internal memory IO functions returned an error status when in fact succeeding. Fixed.

## Version 1.72d

1. Uninitialized data sections of ELF-Program-Files where downloaded and intialized with 0?s. Fixed.

## Version 1.72c

1. The call stack output on Cortex-M was incorrect when the program caught an exception. Fixed.

## Version 1.72b

1. Target application RTT output could get lost. Fixed.

## Version 1.72a

1. The program crashed when entering an exception handler due to a fault within the call stack generation code. Fixed.
2. Disassembly output was not correct for functions without debug information. Fixed.
3. Commands with more than 3 parameters could not be executed via the project file. Fixed.
4. Font styles other than "normal" could not be set under Windows. Fixed.
5. The command line help was displayed distorted within the console window. Fixed.
6. When connecting at an adaptive speed, the connection info text was set incorrectly. Fixed.
7. The target MCU was not halted prior to a hardware reset, which lead to J-Link firmware message boxes popping up on ARM7 MCU?s. Fixed.
8. The debugger did not check the J-Link emulator for ETM capability when activating instruction trace. Fixed.
9. SWO calibration was performed even when instruction trace was active. SWO cannot be used in conjunction with instruction trace. Fixed.
10. The functions window still displayed "ghost" functions which were not linked by the compiler. Fixed.
11. Memory window change levels were not updated after a resume/halt cycle. Fixed.
12. Memory window change levels were not always reset correctly. Fixed.
13. The start button did not work after reopening a project. Fixed.
14. Register values were cleared on resume but should not. Fixed.

## Version 1.72

1. None.

## Version 1.71g

1. Command feedback for command "Target.WriteU16" was displayed as "Target.WriteU32". Fixed.
2. The register window unintentionally displayed flag symbolizers for peripheral registers. Fixed.
3. Structure types were not resolved correctly when specified as "declarative" within the ELF program file. Fixed.
4. Commands "Help.Manual" and "Project.SetOSPlugin" were not printing error messages to the console window when input file paths could not be resolved. Fixed.
5. Script function "AfterTargetHalt" and plugin function "OnTargetHalt" were only executed following a go/halt cycle, but not when the program was stepped. Fixed.

## Version 1.71f

1. Command "Target.WriteU16" and "Target.WriteU8" were accessing target memory word-wise. Fixed.
2. CMSIS-SVD file bit-field patterns where parsed as [LSB:MSB] but should be parsed as [MSB:LSB]. Fixed.
3. Signed integer values of 1, 2 and 8 bytes were not displayed as signed within the symbol windows. Fixed.
4. The call stack window did not unwind exception frames correctly. Fixed.
5. It was not possible to drop items onto undocked windows. Fixed.
6. MCU memory could not be written to while the CPU was running. Fixed.
7. ELF-API function ?GetEntryPointPC? was possibly returning an uneven address (thumb bit set). Fixed.
8. The instruction trace window did not clear the selected line when loosing focus. Fixed.
9. The debugger was performing a reset when a project was opened from a running debug session. Fixed.
10. The parsing of command lines could fail when using brackets within parameter strings. Fixed

## Version 1.71e

1. When editing a variable within a symbol window, the source viewer unexpectedly jumped to the variables source code declaration location. Fixed.
2. The instruction trace window did not display content immediately after connecting to the target device. Fixed.
3. The instruction trace window did not update correctly following a Step-Over. Fixed.
4. The terminal settings dialog did not display correct values and SWO data output was broken. Fixed.
5. When stepping the program, the disassembly window did not clear the PC line. Fixed.
6. When executing commands such as "Project.SetTargetIF" in offline mode, a connection to the target device was established. Fixed.

## Version 1.71d

1. The values of double-type variables were not displayed correctly. Fixed.
2. The register window was not updating correctly when undocked from the main window. Fixed.
3. When no source file root path was specified, relative file paths could not be resolved. Fixed.
4. The project wizard did not out comment script function "AfterTargetDownload" by default. This function is only needed for RAM debug. Fixed.

## Version 1.71c

1. None.

## Version 1.71b

1. None.

## Version 1.71a

1. A synchronization error lead to hard faults during the connect sequence when connecting at a very low target interface speeds. Fixed.
2. The memory window?s scrolling behavior was impaired due to a value conversation bug. Fixed.
3. When scrolling a document to the PC line, the selected line highlight was positioned wrongly. Fixed.

## Version 1.71

1. When a data file was reloaded after modification, the target MCU was not hardware-reset properly. Fixed.
2. The function window was displaying "ghost" functions that were not linked by the compiler. Fixed.
3. Fixed a possible infinite loop situation when loading project files that included loop control structures. Fixed.
4. Floating-point variables could not be edited via the symbol windows. Fixed.
5. It was impossible to set multiple data breakpoints with different parameters on identical memory address ranges. Fixed.
6. The debugger performed unaligned word accesses to target memory when disassembling thumb-instructions. Fixed.
7. When the target MCU resumed unexpectedly (for ex. due to a J-Link firmware error), the debugger?s CPU state knowledge differed from the actual CPU state. Fixed.
8. When a custom connection routine was specified within the project file, code and data breakpoints where not applied. Fixed.
9. When calling the same API function from different threads, callers were notified about job completion too early. Fixed.
10. The user interface and progress bar were not responsive when downloading large data files to the target device. Fixed.
11. Target interface speed "adaptive" could not be set via command "Edit.SysVar". Fixed.
12. While stepping in the disassembly window, the PC line was possibly hidden behind the horizontal scrollbar. Fixed.
13. A bug prevented memory blocks to be divided into chunks when writing or reading large memory blocks. Fixed.
14. Special register names such as SP,PC or LR could not be used as register command parameters when a Cortex-M device was selected. Fixed.
15. Semihosting command "SYS_READ" returned an error code even when the command was successfully executed. Fixed.
16. In certain situations, the function "Connect" internally signaled a success even when the connection failed. Fixed.
17. Prior to performing instruction disassembly, no check was performed if the CPU was halted. Fixed.
18. In certain situations, memory window change levels were not cleared when resetting the program to main. Fixed.
19. The global data window was switching to update mode "always" after having displayed a value tooltip. Fixed.
20. In certain situations, the call stack window columns did not auto-resize to contents. Fixed.
21. The debugger?s MCU data cache was not cleared when executing command "Exec.Reset()". Fixed.
22. Items in color selection dropdown lists were not sorted. Fixed.
23. The memory window?s auto refresh feature was not disabled when debugging on MCU?s without background memory access.
24. In certain situations, variables declared as volatile were not updated correctly. Fixed.

## Version 1.69

1. Changing the target interface speed parameter had no immediate effect when connected. Fixed.
2. User input to the memory window did not affect symbol window display values. Fixed.
3. Change Levels were not cleared after a reset to main. Fixed.
4. The memory window showed wrong address selection behavior when displaying 4 or 2 bytes per item. Fixed.
5. The watched data window lost its item expansion state after a resume/halt cycle. Fixed.
6. The source viewer did not receive focus on the first reset to main. Fixed.
7. The disassembly window did not highlight the PC line after a run to main and debugging in RAM. Fixed.
8. The table header context menu was not opened on right click onto table header. Fixed.
9. The Find/Replace-dialog did not save the current search settings. Fixed.
10. The Find/Replace-dialog?s search setting "match whole word" was inoperable. Fixed.
11. SWO, Semihosting and RTT were not enabled by default. Fixed.
12. The RTT data buffer was not flushed prior to activating RTT. Fixed.
13. SWO or RTT capture were not disabled when their activation failed. Fixed.
14. The breakpoint window lost its context column information when the source file of a breakpoint was closed. Fixed.
15. In certain situations, windows were failing to update correctly after performing a reset & halt. Fixed.
16. The register window update was taking very long (multiple seconds). Fixed.
17. Breakpoint hotkeys were not working when the breakpoint window was not visible. Fixed.
18. Fixed a runtime error in the memory window when scrolling via Page Up/Down.
19. In certain situations, a deadlock occurred when opening a new project while the CPU was running. Fixed.
20. Function "ELF_GetGlobalVarCount" returned incorrect values. Fixed.
21. In certain situations, data locations of local variables were not updated correctly. Fixed.
22. Clicking a function within the source viewer did not cause the local data window to adopt to the corresponding call frame. Fixed.
23. Action "View.Disassembly" did not select the correct instruction when activated from the source viewer. Fixed.
24. "File->New Project" was not creating a standard project file. Fixed.
25. Using "Set Next PC" from the disassembly window was delegating focus to the source viewer. Fixed.
26. Fixed a wrong status return value when reading memory word-wise that led, amongst other things, to incorrect disassembly output.
27. When restoring the saved state of a window, scrollbar positions and column sizes were not restored correctly. Fixed.
28. Local variables were removed from the watched data window when going out of scope. Fixed.
29. The application was possibly crashing while in a debug session and when opening a project file. Fixed.
30. The last cursor position was stored with an offset of 1 line when switching between documents. Fixed.
31. Local symbols were not updated when the local data window was invisible. Fixed.
32. Fixed a bug regarding the resolution of active data breakpoint handles. Fixed.
33. Context menu actions in the data breakpoint window were performed for the wrong item after the breakpoint list was sorted. Fixed.

## Version 1.67d

1. None.

## Version 1.67c

1. The program crashed when trying to read SWO data from a target device that does not support SWO. Fixed.

## Version 1.67b

1. A missing CPU register set description file was not indicated by the project warnings dialog. Fixed.

## Version 1.67a

1. The debugger crashed when trying to open a project file containing syntax errors. Fixed.

## Version 1.67

1. Wrong command feedback emitted when closing a window. Fixed.
2. Incorrect behavior when double clicking an item of the functions window. Fixed.
3. The debugger ran into a deadlock when canceling the connection sequence at a popup dialog. Fixed.
4. The debugger crashed when downloading a data file via command "Exec.Download". Fixed.
5. Command "Edit.SysVar" emitted incorrect command feedback. Fixed.
6. Writing to target memory was disabled when the target was not halted. Fixed.
7. SWO and RTT were activated on debug session start even when having been disabled from the project file. Fixed.
8. Script function "AfterTargetConnect" was called at an incorrect time during the connect sequence. Fixed.

## Version 1.65

1. Non-monospaced fonts were causing incorrect alignments in the source viewer and other windows. Fixed.
2. There was a highlighting artifact when modifying the PC via the WriteRegister command. Fixed.
3. Fixed a runtime error within the xml module.
4. In certain situations, the value of peripheral registers was not displayed correctly. Fixed.
5. The memory window?s address dialog could only be opened once. Fixed.

## Version 1.63

1. The project file was modified after executing certain commands. Fixed.
2. Selecting items in the system variable editor caused multiple non-related commands to be executed. Fixed.
3. Opening a source file caused the debugger to halt the CPU. Fixed.
4. Fixed a memory leak in the ELF parser module.
5. The start debug button remained in down-state when start was canceled. Fixed.
6. Source files were not reloaded when the application data file was reloaded. Fixed.
7. When reloading the application data file, all source documents were closed. Fixed.
8. Table grid lines around tree branch indicators were displayed in wrong color. Fixed.
9. The call stack window remained empty in certain situations. Fixed.
10. In certain situations, the debugger failed to display local variables at call-sites correctly. Fixed.
11. Step-Over and Step-Into did not respect user-set breakpoints. Fixed.
12. The debugger missed to delegate the focus to the disassembly window in certain situations. Fixed.
13. Windows were unintentionally receiving focus when using the mouse scroll wheel. Fixed.
14. The title of the locals data window was not updated according to the selected function. Fixed.
15. The context menu for action "watch symbol" was popping up twice. Fixed.
16. The main window title was not updated when connecting to the target device. Fixed.
17. The main window title was not updated after loading a new data file. Fixed.
18. The memory window did not align its editor address to the row byte size when the window was enlarged. Fixed.
19. The memory window?s address box did not update according to the text input. Fixed.
20. Actions "BP.set" and "Bp.clear" used the same hotkey when contained in the same menu. Fixed.
21. Breakpoint commands did not accept source location parameters of the form "main.c:27". Fixed.
22. Breakpoint commands were disabled when they should not be. Fixed.
23. Memory access was allowed when an MCU without background memory access was configured and the CPU was running. Fixed.
24. In certain situations not all breakpoints were cleared during disconnect. Fixed.

## Version 1.61

1. Internal version.

## Version 1.59

1. None.

## Version 1.57

1. None.

## Version 1.55c

1. Missing source line highlighting when single-stepping the application. Fixed.
2. Missing syntax highlighting for compiler directives "elif", "elif defined" and "if defined". Fixed.

## Version 1.55b

1. The command "view.source" did not emit console feedback. Fixed.

## Version 1.55a

1. Setting source code breakpoints in inline expanded functions did not set the breakpoint on all affected machine instructions. Fixed.

## Version 1.55

1. Variables declared as "artificial" within the ELF program file were nonetheless included in the global / local data windows. Fixed.
2. Pointer members were resetting their change levels (color highlighting) whenever getting updated. Fixed.
3. Symbols that went out of scope were still displaying location and value. Fixed.

## Version 1.53a

1. The uninstaller selected a wrong installation folder. Fixed.

## Version 1.53

1. When a machine code address maps to multiple source lines, a breakpoint on that address was displayed on the last source line instead of the first one. Fixed.
2. When the CPU halted on a source line, focus automatically jumped from the disassembly window to the source code window. Fixed.
3. The local data window did not display array variable members properly in situations where a variable left and re-entered scope. Fixed.
4. When using command "view.source" from the console window, the selected source line was not always highlighted. Fixed.

## Version 1.51b

1. Source viewer syntax highlighting showed artefacts when quotation marks in strings were encountered. Fixed.
2. Bug in command "Step-Over". Fixed.

## Version 1.51a

1. In some situations, the terminal window was missing RTT-output. Fixed.
2. Incorrect console feedback when a command was executed with an incorrect number of parameters. Fixed.
3. Command "set.peripherals" was not working when used with quotation-mark enclosed filenames. Fixed.

## Version 1.51

1. None.

# Known problems in current version

1. The layout of window elements might be impaired on high resolution displays such as MacBook?s Retina. The Ozone team plans to eliminate this shortcoming in the near future.
2. The debugging experience might be impaired when debugging compiler-optimized program code. This is not a bug in the software but rather a result of information loss during the compilation phase. It is advised to recompile programs with optimizations turned off prior to debugging the program. See your compiler?s user manual for further information on how to disable code optimization.
3. Timeline window output may not be accurate in the particular situation where the target was interrupted in executing a stack-altering or branch-type machine instruction (in order to handle an IRQ). The J-Link team is currently working on a solution to this problem.

# Release history

V2.50c | 05 Oct 2017
V2.50b | 22 Sep 2017
V2.50a | 15 Sep 2017
V2.50 | 11 Sep 2017
V2.47 | 06 Sep 2017
V2.46c | 05 Sep 2017
V2.46b | 25 Aug 2017
V2.46a | 21 Aug 2017
V2.46 | 17 Aug 2017
V2.45a | 14 Aug 2017
V2.45 | 07 Aug 2017
V2.44e | 03 Aug 2017
V2.44d | 26 Jul 2017
V2.44c | 25 Jul 2017
V2.44b | 20 Jul 2017
V2.44a | 19 Jul 2017
V2.44 | 13 Jul 2017
V2.42b | 10 Jul 2017
V2.42a | 28 Jun 2017
V2.42 | 22 Jun 2017
V2.40d | 14 Jun 2017
V2.40c | 12 Jun 2017
V2.40b | 01 Jun 2017
V2.40a | 26 May 2017
V2.40 | 19. May 2017
V2.32 | 10. Apr 2017
V2.31 | 05. Apr 2017
V2.30d | 05. Apr 2017
V2.30c | 27. Mar 2017
V2.30b | 17. Mar 2017
V2.30a | 13. Mar 2017
V2.30 | 13. Mar 2017
V2.29 | 01. Mar 2017
V2.22p | 22. Feb 2017
V2.22o | 03. Feb 2017
V2.22n | 31. Jan 2017
V2.22m | 19. Jan 2017
V2.22l | 05. Jan 2017
V2.22k | 02. Jan 2017
V2.22j | 22. Dec 2016
V2.22i | 15. Dec 2016
V2.22h | 12. Dec 2016
V2.22g | 08. Dec 2016
V2.22f | 05. Dec 2016
V2.22e | 01. Dec 2016
V2.22e | 01. Dec 2016
V2.22d | 21. Nov 2016
V2.22c | 07. Nov 2016
V2.22c | 07. Nov 2016
V2.22b | 04. Nov 2016
V2.22a | 02. Nov 2016
V2.22 | 31. Oct 2016
V2.20j | 21. Oct 2016
V2.20i | 18. Oct 2016
V2.20h | 6. Oct 2016
V2.20g | 30. Sep 2016
V2.20f | 27. Sep 2016
V2.20e | 23. Sep 2016
V2.20d | 22. Sep 2016
V2.20c | 21. Sep 2016
V2.20b | 19. Sep 2016
V2.20a | 16. Sep 2016
V2.20 | 15. Sep 2016
V2.18c | 22. Aug 2016
V2.18b | 12. Aug 2016
V2.18a | 09. Aug 2016
V2.18 | 05. Aug 2016
V2.17 | 26. Jul 2016
V2.16h | 26. Jul 2016
V2.16g | 25. Jul 2016
V2.16f | 19. Jul 2016
V2.16e | 12. Jul 2016 | V2.16d | 01. Jul 2016 | V2.16c | 27. Jun 2016 | V2.16b | 17. Jun 2016 | V2.16a | 09. Jun 2016 | V2.16 | 07. Jun 2016
V2.15b | 11. May 2016
V2.15a | 27. Apr 2016
V2.15 | 01. Apr 2016
V2.14h | 23. Mar 2016
V2.14g | 22. Mar 2016
V2.14f | 21. Mar 2016
V2.14e | 11. Mar 2016
V2.14d | 07. Mar 2016
V2.14c | 02. Mar 2016
V2.14b | 25. Feb 2016
V2.14a | 22. Feb 2016
V2.14 | 18. Feb 2016
V2.12c | 10. Feb 2016
V2.12b | 09. Feb 2016
V2.12a | 29. Jan 2016
V2.12 | 27. Jan 2016
V2.10d | 04. Jan 2016
V2.10c | 11. Dec 2015
V2.10b | 07. Dec 2015
V2.10a | 01. Dec 2015
V2.10 | 27. Nov 2015
V1.79 | 13. Okt 2015
V1.78a | 01. Sep 2015
V1.78 | 24. Aug 2015
V1.76a | 11. Aug 2015
V1.76 | 23. Jul 2015
V1.74a | 01. Jul 2015
V1.74 | 22. Jun 2015
V1.72d | 14. Jun 2015
V1.72c | 09. Jun 2015
V1.72b | 13. May 2015
V1.72a | 11. May 2015
V1.72 | 07. May 2015
V1.71g | 22. Apr 2015
V1.71f | 14. Apr 2015
V1.71e | 16. Mar 2015
V1.71d | 18. Feb 2015
V1.71c | 28. Jan 2015
V1.71b | 20. Jan 2015
V1.71a | 05. Jan 2015
V1.71 | 18. Dec 2014
V1.69 | 01. Dec 2014
V1.67d | 18. Nov 2014
V1.67c | 13. Nov 2014
V1.67b | 12. Nov 2014
V1.67a | 12. Nov 2014
V1.67 | 11. Nov 2014
V1.65 | Internal.
V1.59 | 23. Sep 2014
V1.57 | 11. Sep 2014
V1.55c | 09. Sep 2014
V1.55b | 08. Sep 2014
V1.55a | 04. Sep 2014
V1.55 | 03. Sep 2014
V1.53a | 01. Sep 2014
V1.53 | 28. Aug 2014
V1.51b | 08. Aug 2014
V1.51a | 07. Aug 2014
V1.51 | 04. Aug 2014

# Miscellaneous

This document was first released with version 1.51 of the software.
Software released earlier is documented internally.
This information is available at request.

Copyright 2012-2015 SEGGER Microcontroller GmbH & Co. KG. All rights reserved.
For more information, please visit our website www.segger.com or contact us at info@segger.com