The 2024 Wheel Reinvention Jam just concluded. See the results.

alpha 0.8.43

spx
c[ode]clap 0.8.43 has arrived.

Due to time constraints this release took a few weeks longer than it should've. The next few days and weeks I am still quite busy but this will normalize at some point. Going forward I will also likely focus on bigger updates instead of frequent smaller ones which should ensure that 1.0 will be here in a timely manner.

This release brings improvements to the expression/watch and breakpoint panels among other individual features and bugfixes. The expression table is not yet completely final but both new tables for expressions and breakpoints are a perceivable improvement compared to the old panels. All old non-Dark themes are not shipped and maintained and are replaced by new more subtle and better readable light themes.

The next update will focus on the source view and the interaction with multiple views in general. And of course the usual amount of fixes here and there.

Download at: https://codeclap.itch.io/codeclap
Issue tracker: https://issues.codeclap.cc


CHANGELOG since 0.8.28.1

[00.08.43]
* 0000121: [DWARF] DW_AT_count and DW_AT_*_bound not handled correctly with DW_FORM_exprloc
* 0000120: [Debugger] backtrace fails if __chkstk is used
* 0000119: [DWARF] DW_AT_count in combination with DW_FORM_ref not handled correctly
* 0000107: [Debugger] allow to continue normally when breaking on __debugbreak in code
* 0000105: [Breakpoints] persist output of breakpoints across sessions
* 0000104: [UI] ,mem sometimes shows only a single line for 1 frame
* 0000081: [Visualization] ,img parameter naming
* 0000084: [Visualization] ,img: support expressions in bpp value
* 0000006: [Workspace] option to keep the debugger open after the process has exited
* 0000103: [UI] variable tooltips not working correctly on source lines that span multiple view lines
* 0000098: [Breakpoints] persist enabled/disabled state of breakpoints across sessions
* 0000089: [Visualization] ,mem: also highlight the variable memory in the ascii view
* 0000088: [UI] change autocomplete for expressions to filter based on start of the value
* 0000087: [UI] do not keep offering autocomplete if the input value matches the only autocomplete result
* 0000085: [Expressions/Watchpoints] better handling of spaces in expressions and visualization parameters
* 0000095: [General] change format of printed arrays to swap curly and square braces
* 0000040: [Debugger] allow to be launched as just-in-time debugger

[00.08.41]
* 0000059: [UI] improve breakpoint panel
* 0000074: [Debugger] by default only break on exception codes that indicate an actual fault
* 0000073: [UI] allow variable tooltips to be resized and add scrolling for overflow
* 0000072: [UI] change startup configuration selection combobox to selectable list
* 0000094: [DWARF] incorrect range handling evaluating variables by name
* 0000102: [UI] disabling desktop composition after startup causes incorrect window border
* 0000079: [UI] restrict expanding of expressions when not applicable
* 0000078: [UI] changing display type (right-click menu) on a member expression fails
* 0000053: [UI] panel layout can reach an unexpected state forcing to reset the layout

[00.08.38]
* 0000002: [UI] path autocompletion helper for text inputs

[00.08.37]
* 0000054: [PDB/CodeView] incorrect range handling evaluating variables by name
* 0000064: [UI] re-add ability to stop/resume individual threads or all threads to the thread table
* 0000071: [UI] show address of array elements next to the array index in expression table
* 0000029: [Expressions/Watchpoints] anonymous members in autocomplete dialog
* 0000060: [UI] stacktrace table only uses rip for row highlighting
* 0000057: [UI] option to expand a certain depth of compound types in variable tooltips
* 0000051: [UI] do not show variable tooltips for plain literals
* 0000056: [Expressions/Watchpoints] missing curly brace when printing string pointer
* 0000045: [UI] ability to have multiple pinned expressions
* 0000063: [UI] expressions not updating when changing focus without confirming using return
* 0000062: [UI] changing the order of table columns can leave 2 columns being dragged
* 0000061: [UI] crash when making all table columns invisible and enabling one column
* 0000047: [UI] change variable tooltip when moving the mouse over a different expression on the same line
* 0000046: [UI] moving the mouse can cause the variable tooltip to be recreated with the same content

[00.08.33]
* 0000012: [UI] rework all alternative color schemes
* 0000075: [UI] syntax highlighting doesn't apply sometimes depending on the scrolling position
* 0000066: [UI] removing all arguments/environment values from configurations not possible
* 0000070: [General] debugger does not start on windows when unsupported env string passed
* 0000026: [Expressions/Watchpoints] improve expression editing/panel
* 0000069: [UI] removing all arguments or environment variables not possible after saving
* 0000005: [Expressions/Watchpoints] expanding large arrays/structures
* 0000044: [UI] active line for previous frames is not highlighted when syntax highlighting is enabled
* 0000034: [UI] change argument or environment entry in configuration settings when changing focus
* 0000032: [UI] make comboboxes visually distinct from buttons
* 0000007: [UI] dragging the cursor on an inactive text field doesn't show the selected range
* 0000020: [Expressions/Watchpoints] allow 0x and 0b literals
* 0000050: [UI] table widget does not support scrolling and can overflow the panel
* 0000028: [Expressions/Watchpoints] allow -> syntax to access pointer members
* 0000048: [DWARF] array range not resolved correctly for variable-sized arrays
* 0000025: [Expressions/Watchpoints] expr: pointer+[offset],[n]
* 0000052: [UI] show version in window title
* 0000030: [PDB/CodeView] accessing members of anonymous members resolves to the wrong type
* 0000049: [UI] slider: do not interrupt scrolling with the mouse wheel
* 0000043: [UI] use "command + a" so select all expressions instead of "ctrl + a"
* 0000042: [Expressions/Watchpoints] pin watches by address
* 0000038: [Workspace] list recently used workspace files
* 0000024: [Debugger] show call site/stack trace when calling a null pointer
* 0000021: [Expressions/Watchpoints] handle ,mem with address as expression value
* 0000001: [UI] rework UI customization frontend
* 0000004: [UI] option to change fonts
* 0000003: [UI] tooltips

Comments

Awesome !!!

I don't have as much time available to program in c theses lasts weeks, but when i do, I'm very glad to have clodeclap near me.

Thanks for the update :)
I just now tried out 0.8.43, very nice! Looks like all of the changes to the UI have made a difference.

Looking forward to the next release, appears to be a lot of activity on the issue tracker.
Not directly related to this announcement, but I just wanted to say that I purchased a license for c[ode]clap and used it successfully to help with debugging my emulator yesterday.
Nice work; thank you!
While we're at it, I used codeclap quite heavily this last month on my secret project. And it really saved me many times.

I'll will probably be back soonish with short list of requests.
joe513
I just now tried out 0.8.43, very nice! Looks like all of the changes to the UI have made a difference.

Looking forward to the next release, appears to be a lot of activity on the issue tracker.


Indeed. The plan is to get a 0.9 build that is, from a functional perspective, close to a possible "1.0" release. I'd love to push out all the small fixes asap but at the moment it is best for me to prepare one larger update.

GrooveStomp
Not directly related to this announcement, but I just wanted to say that I purchased a license for codeclap and used it successfully to help with debugging my emulator yesterday.
Nice work; thank you!

albatros
While we're at it, I used codeclap quite heavily this last month on my secret project. And it really saved me many times.

I'll will probably be back soonish with short list of requests.


That's really great to hear.
I am always open to new feedback/requests because there will always be some things that are just not that obvious depending on the perspective.