c[ode]clap » Blog

alpha 0.8.43

 — 2 months, 3 weeks ago
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 ...
Read More →


alpha 0.8.28

 — 4 months, 1 week ago
​0.8.28 is now available as another build from the longer 0.8 path. Most notably DWARF support is now available on Windows. This update contains a number of smaller fixed, a new workspace system and augmentation of the configuration system. The workspace system is a work in progress and may have unintended side effects when used in an active debugging session and I would'nt advise to rely too much on it yet.

Overall codeclap now basically has 3 configuration layers (Workspace -> Executable -> Configurations). Workspaces allow to save and switch every setting and all configurations. While ...
Read More →


Issue/feature tracking and preview

 — 4 months, 1 week ago
Since the next update hasn't quite arrive yet here is a quick rundown on what's happening in c[ode]clap land.

Public issue tracking
I've started to maintain a public list to track issues and upcoming features. After considering github for a while I have come to the conclusion that it doesn't have that much advantage to offer, the only one basically that everyone could simply use their existing github account to post new issues and comment.

The issue tracking is located here: https://issues.codeclap.cc
Currently the list is read only and curated only ...
Read More →


alpha 0.8.17

 — 5 months ago
0.8.17 has finally arrived as an intermediate build on the way to 0.9.

One of the new features you probably can't miss is a new panel system which allows to freely change around the layout within the window. I would have liked to give this new system more testing but it is about time to finally push a new build and since I haven't encountered any issues with this for a bit and it hopefully just works.
The output window is not floating by default in this build. If you don't want this behavior ...
Read More →


alpha 0.8.3

 — 6 months ago
0.8.3 contains a redesigned overlay mode that is more useful (by providing floating panels instead of a binary blocking and non-blocking mode) and additional startup parameters to utilize this overlay mode. There will still be a few minor fixes in the next updates but no major changes and the mode is now roughly working as intended, as always now compatible with all supported platforms.

In addition to this startup via the command line can now have persistent sessions (expression and breakpoint state) across restarts. The description of those new command line parameters and a small presentation of the ...
Read More →


alpha 0.7.5

 — 6 months, 3 weeks ago
As promised this is a small build without the finished overlay changes for 0.8.0 which will require a few additional weeks. "Jump to any" is now more organized and the autocomplete overlay should be more useful by not showing a lot of results without any context. Using "tab" to focus the overlay with the default keybindings is still a bit unintuitive but I will require a bit hands-on time to see if this is a good compromise to not interrupt expression input.

One unplanned improvement is that attaching and detaching to and from running processes should now work ...
Read More →


alpha 0.7.2

 — 7 months, 1 week ago
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 ...
Read More →


alpha 0.6.4

 — 7 months, 3 weeks ago
​0.6.4 is an intermediate step to 0.7.0. Normally I likely wouldn't package this up separately but there are 2 fixes in this for issues that have been communicated to me and prevent functional usage of codeclap in these cases. There are already a few usability improvements, the UI is more configurable and should now also display correctly in most HiDPI setups.

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


Changelog since 0.6.0

[00.06.04]
* Give most of the "jump at" and "break at" shortcuts priority over other panels and input fields
(Allow jump ...
Read More →


alpha 0.6.0

 — 8 months ago
0.6.0 has arrived and brings improvements to all platforms. On Linux currently your mileage may vary because of ptrace limitations but so far I haven't encountered any problems.

Across the board on all platforms the stepping behavior should feel more snappy because of less synchronizations between the debuggee and executing debugger expressions. This also removes all potential stalling issues from these locations.
Command line usage has been extended to be more useful in general as well as enabling the "break at" functionality to also understand file:line syntax.
Last but not least there are also initial fixes ...
Read More →


alpha 0.5.8 for Linux

 — 8 months, 1 week ago
0.5.8 is available for Linux which fixes a few important problems.
  • codeclap wasn't able to handle executable memory regions that would not start at the beginning of the file, this would render the debugger unable to locate debugging information on certain Linux distributions.
  • shortly before release the technology to execute code injected into the debuggee got put into a more central place. This worked fine in limited tests (especially in automated test) and also based on the platform. However especially on Windows this blew up pretty quickly. This build changes this behavior to not hijack the control ...
Read More →


alpha 0.5.10 for macOS

 — 8 months, 1 week ago
Last one of the three. 0.5.10 fixes the last remaining major issues. This one also improves the handling of individual threads on macOS by using the appropriate Mach interface.

I will take a little more time for 0.6.0 in order to give it the necessary testing on all platforms.
Daily releases are not only a bit taxing but also spammy for too little improvement.

Among other things I will look into cleaning up synchronization between the debugger and the OS interfaces (in cases where cleaning up is actually necessary but I think the manual pause button ...
Read More →


alpha 0.5.9 for Windows

 — 8 months, 1 week ago
On we go. 0.5.9 contains the necessary fix for Windows to not blow up the debugger in regular intervals. The macOS fix is also coming along however there is still a little bit of work to do (probably a matter of days) until everything is in order; the Mach API is powerful but can be a bit inconvenient at times.

I've done a few quick additional manual tests on the HMH codebase and haven't found any disastrous failures.


Short Changelog for 00.05.09
* [Windows] Inject a debugger owned thread into the debuggee to execute code ...
Read More →


alpha 0.5.5

 — 8 months, 1 week ago
codeclap 0.5.5 is here.

It is no 0.5.0, but something better ;).

In addition to the established Linux build there are now also working builds for macOS and Windows. The macOS build is correctly signed to be used as a debugger and should work out of the box without any self-signing chaos.
The Windows build is the most recent and had a few teething problems but should work ok now. But it definitely received the least amount of testing.

Also codeclap is now available on https://codeclap.itch.io/codeclap for a very moderate price which will ...
Read More →


Updates on alpha 0.5.0

 — 9 months ago
Some time ago I've decided to not rush this build and delay 0.5.0 for a bit.

Estimate
0.5.0 is basically ready but I don't want to publish something right before leaving for a vacation. Therefore it will be about 2-3 weeks before I will publish this one.
This build brings a few changes to how I distribute codeclap which I will quickly outline here.

What changes with 0.5.0
0.5.0 will be the first release that you can buy for a one-time price; no strings attached.
Since codeclap is still alpha ...
Read More →


pre-alpha 00.04.03 (last build before alpha)

 — 1 year, 2 months ago
Porting codeclap has gone well and to date all features are functional on Windows and MacOS in addition to Linux. This is likely to be the last pre-alpha release and I will strive to make the next release "alpha" sometime at the start of Q3/2018. The next release should be available on all platforms.

Due to inconsistent behavior across distributions newly created threads are not continued automatically after creation. This should be fixed in the next build (should be in 00.04.03-2).
codeclap has gotten better at handling optimized code but compiling with -O0 is still recommended until ...
Read More →


pre-alpha 00.04.02

 — 1 year, 3 months ago
This is an intermediate build and requires Linux kernel 3.2 or later. Porting continues to progress and is still expected to finish end of April/beginning of May.

CHANGELOG for 00.04.02
  • Changed line mapping and instruction ordering for source view and optimized code
    (Move based on file lines instead of instruction addresses [which is the expected behavior]; except for inlined functions)
  • Fixed scrolling over expanded inlined functions
  • Fixed cursor selection for variables in source view for plain pointer variables
  • Fixed a wrong calculation that would result in small jumps while scrolling
  • Improved the output window
    . Added a ...
Read More →


The long road to "Alpha"

 — 1 year, 4 months ago
Both new builds, for Windows and macOS, are making slow and steady progress. I've decided to go the unreasonable way of pursuing both platform ports at the same time and so far I don't have any regrets doing so (the basic reasoning behind this is to challenge the design of the platform independent parts to actually match with all the different platform specific parts). This whole process will take a bit of time and I am aiming to have all platforms on par until the end of April which should be a realistic goal.

The bad news is ...
Read More →


pre-alpha 00.04.01

 — 1 year, 5 months ago
Here is a late January build. There are a few QOL changes but overall there have been lots of architectural changes and I fear there are a few more regressions left than I would've liked. But at the same time this is an important step and marks the beginning of cross-platform compatibility for Windows and macOS. I will probably try to get a working macOS build first because it should require less actually new functionality and is a platform more similar to Linux.
Performance in the source view can be pretty bad at the moment which will get priority ...
Read More →


pre-alpha 00.03.02

 — 1 year, 6 months ago
I've wrapped up 00.03.02. This version contains some internal changes for the persistence of expressions, breakpoints etc. across restarts. There may be some edge cases left which I've missed in this new logic but I will stumble across those sooner or later.

The download is currently available from so.codeclap.cc and Patreon.
Unfortunately I don't yet have any alternatives to Patreon but I will provide other means of gettings access to builds as soon as possible.

As one of the next bigger topics I will likely improve the internal structuring by porting the debugger ...
Read More →


pre-alpha 00.03.01

 — 1 year, 8 months ago
I've been more busy in November/December than I originally anticipated but I will try to limit slowing down progression on codeclap.
00.03.01 changes the meaning of the ui.config to only contain individual changes across themes. To change to the new theme system you can clear all individual settings using the "Clear customizations" button.
To make a global change to the font size either use a single "IUI_TYPE_none IUI_ATTR_font IUI_FONT_size ##.00" line in the ui.config file or use the UI helper (Keybinding to turn it on (Ctrl + Meta by default), highlight a button or label ...
Read More →


pre-alpha 00.02.03

 — 1 year, 8 months ago
I expect the rate of new builds to tone down a bit over time, but here is 00.02.03. The next monthly 00.03.01 is right around the corner and will bring theme support and a visual assistant for UI customization on top of these themes.

The new features like watchpoints and links between breakpoints are currently not persistent across restart. This will be part of a general "persistence update" for one of the subsequent builds.

CHANGELOG for 00.02.03
  • Implemented watchpoints (data/memory breakpoints)
  • Added scope CODECLAP_SCOPE_breakpoints_active
  • Added scopes CODECLAP_SCOPE_notification, CODECLAP_SCOPE_notification_timeout
  • Added scopes CODECLAP_SCOPE_view_breakpoint_disabled, CODECLAP_SCOPE_view_breakpoint_linked
  • Highlight ...
Read More →


Future supporter perks

 — 1 year, 8 months ago
At some point in the near future I will introduce a system to publish and track planned features, feature requests and known issues. This has some interesting potential for interaction with supporters. Every patron will be able to vote for any feature/issue once a month. Votes do not reset and will accumulate over time; whatever is on top of the list will be what I will be doing next (except when another issue is linked to that one, then I will likely do the required one first).
Not all votes will be equal however. I initially intended to simply ...
Read More →


pre-alpha 00.02.02

 — 1 year, 8 months ago
This is a quick one, meaning it lacks a bit of testing and I also had to push one missing feature to 00.02.03. But I probably won't be able to make a lot of changes within the next 5-6 days so this build may be a bit hit or miss. Before 00.02.03 I will also write a little about planned future supporter perks.

You may notice some impromptu UI changes for new additions. These are not final yet (especially the tiny unreadable button icons) and basically are a way to make features available without spending ...
Read More →


pre-alpha 00.02.01

 — 1 year, 9 months ago
Well a few days late but 00.02.01 is finally here. Unfortunately a larger than expected portion of the expression system was broken in one way or another but it is in a much better state now, and I believe in one that won't require any rewrites of this magnitude in the future. For the next few builds I will likely prioritize smaller features and QOL changes.

This build marks the second "monthly release" and as always is available from the patreon post or so.codeclap.cc.

CHANGELOG for 00.02.01
  • Swapped precedence of logical/binary and ...
Read More →


pre-alpha 00.01.07

 — 1 year, 9 months ago
There are still some fixes necessary for the expression system to be in a better state which should happen for 00.02.01.
Get it from the patreon post or from so.codeclap.cc.

CHANGELOG for 00.01.07
  • Added resize handles to allow resizing the debugger, expression and breakpoint panels (right click to reset size)
  • Fixed a few issues and regressions affecting the memory view resize handle, focus and highlighting
  • Allow restarting of the debugging session with F2 after starting the debugger directly using the command line
  • Fixed usage of Ctrl+B shortcut when a textfield in the expression ...
Read More →