c[ode]clap»Blog

alpha 0.7.2

spx
0.7.2 is now available. This build has an important change that was originally planned for a 0.9.x build but was just to taunting to not finish up early. I am speaking of the first step for better windows support by removing all posix and pthread dependencies from it. This allows me to build codeclap with msvc on windows (I will also consider clang in the future but for now msvc is easier overall). This required changes in a lot of parts to make them actually compatible with cl.exe but I think that I caught everything that broke in the process. And in case I missed something, usually 1 or 2 old builds are always available for download.

Download at: https://codeclap.itch.io/codeclap

So what's coming in the near future?

0.8.x
I will try to fully revive one of my favorite features: "Overlay mode". Overlay mode has great potential but needs fixing, also it is a feature that has quite some importance for myself.
Additionally the autocomplete overlay when entering expressions needs improvements. To many irrelevant results are shown and interacting with the dialog is non-standard.

0.9.x
I'd love to have undo/redo support for most available features (and of course also for standard controls like text fields).
This is also the target version that allows for a truly competitive experience compared to visual studio in "basic debugging" scenarios.

1.x
Hopefully the initial availability of a publishable "customization layer", combined with some additions to custom visualization for expression data. Also on the way here I will probably find a few additional features that just have to make it into a "1.0".
I may add support for STL structures if I find a sane way to do so.


CHANGELOG since 0.6.4

[00.07.02]
* [Windows] Removed posix/pthread dependencies from the Windows build

[00.07.01]
* [Linux] Decode percent encoded characters in X11 uri-list result
* [Windows] Handle spaces within quotes when passed as command-line parameters
* [Windows] Fixed a crash due to an incorrect parameter to WriteFile when using --debug
* In the "jump to any" and "break at any" dialog, confirming the text field without any selection will now activate the first available option
* Added a toggeable text field to the output window that can be used to send input to the debuggee
* Improved the tracking behavior of the debugger view when the instruction pointer changes very shortly after opening the view for this thread
* [DWARF] Overwrite size of pointers with 8 if not set in debug information. This allows for arithmetic operations on raw pointers when using clang
* Fixed cases where the expression stack would not be correctly aligned to 16 bytes before call instructions as expected by sysv/win calling conventions
* [Linux] Do not miss some key state changes when losing focus with active modifier keys
* [Linux] Fixed /proc/../maps parsing for lines containing paths with spaces
* Changed opacity of the output panel and added a faint background behind unimportant lines

[00.07.00]
* Added a "What's new" dialog that shows when something new was added in a release that hasn't been run before (this dialog contains all changes in an interactive way)
* Do not warn for conflicts with keybinding that are not active at the same time as the changed one
* New UI elements: radio buttons that actually look like radio buttons, slider
* Allow for a custom DPI/Scaling value to be set

[00.06.06]
* Fixed writing user defined themes when the program folder is not writable
* Added keyboard shortcut templates (VS keybindings in addition to the default codeclap ones)
* Added additional keyboard shortcuts to be more in line with VS
. Toggle mixed/source mode
. Disable/Enable breakpoint on cursor
. Set instruction pointer to cursor
. Clear breakpoints
* [Linux] Correctly process right ctrl key
* Do not show files starting with "." for theme or keybindings
* Fixed a regression that would prevent the autocomplete dialog to be closed manually

[00.06.05]
* Added missing theme values (for checkboxes and radiobuttons) for all themes except "Dark"
* Added different types of output lines with different style scopes (important, unimportant, breakpoint, version)
* [DWARF] Fixed DW_OP_addr for global variables when compiling as PIE to calculate the correct address
* Fixed saving customized UI settings to theme files when the program directory is not writable
* Corrected naming of the "Super" key which was called "Meta" by accident
Thanks for supporting input so quickly, works great!

Is there a list of all the commands available in the expressions such as var,x var,b var,mem? I have seen the ones in the youtube video but wasn't sure if there are more.
Awesome !
spx
joe513
Thanks for supporting input so quickly, works great!

Is there a list of all the commands available in the expressions such as var,x var,b var,mem? I have seen the ones in the youtube video but wasn't sure if there are more.

Sorry no documentation at the moment. I guess adding a context menu soon should be a first step.
I think you are only missing ",number" which you can use on pointers to make codeclap show the memory range as an array. So "mypointer,10" will show an array with 10 elements of the type mypointer references beginning with the address mypointer points to.

Also there are builtin groups "%regs" and "%fpregs" to expand to all registers and any expression used there can also be typed in individually by hand, e.g. "$rbp", "$rsp", ..
spx
quick note: 0.7.2 had a few minor last-minute regressions in it. The most annoying being that "jump to any" is not working for functions. I will put together another release next week. That one will contain everything planned from 0.8.0 except the overlay improvements which will be following a few weeks later.