c[ode]clap » Blog

alpha 0.7.2

 — 22 hours, 38 minutes 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

 — 2 weeks, 1 day 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

* 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

 — 3 weeks, 3 days 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

 — 1 month 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

 — 1 month 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

 — 1 month 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

 — 1 month 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

 — 1 month, 4 weeks ago
Some time ago I've decided to not rush this build and delay 0.5.0 for a bit.

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 →

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

 — 8 months, 3 weeks 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"

 — 9 months, 2 weeks 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

 — 10 months, 2 weeks 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

 — 11 months, 3 weeks 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 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, 1 month 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, 1 month 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, 1 month 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, 1 month 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, 2 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 →

snapshot builds

 — 1 year, 2 months ago
I'm a bit late on announcing this but there is now a page that I will use to make builds available more frequently.
The URL is: https://so.codeclap.cc
You can simply log in with you patreon account and should get access to the builds of that tier. It should work but at least for me the API documentation wasn't completely clear; if you try it and it doesn't work please write a quick response here so that I can look into fixing the patreon interface.

I've decided on a very straightforward way of providing ...
Read More →

pre-alpha 00.01.06

 — 1 year, 2 months ago
Get it here
Currently on top of my list: function calls and casts in expressions

CHANGELOG for 00.01.06
  • Added comparison operators to expressions (==, !=, <, <=, >, >=)
  • Added conditional breakpoints (ability to set minimum hit count or expression that has to be true)
  • Fixed adding breakpoints to addresses that contains an internal/hidden breakpoint without removing the internal first
  • Improved handling of different byte sizes in expressions
  • Fixed a regression opening inline debugging views
  • Fixed closing of inline debugging views
  • Dynamically adjust context menu width
  • Dynamically adjust stracktrace overlay width
  • Fixed incorrect prepending of names when picking members ...
Read More →

pre-alpha 00.01.05

 — 1 year, 2 months ago
This one is mostly fixes but also has some smaller features in it.
Without further ado, here is build 00.01.05.

CHANGELOG for this version
  • Added a new ",c" modifier to expressions to display memory as null-terminated string
  • Fixed highlighting in memory view for types bigger than 255 bytes
  • Fixed breakpoint highlighting for assembly lines
  • Memory view: Added tab key to quickly switch between editing bytes and characters
  • Fixed a bug in the memory allocator when compacting memory
  • Made the output window movable and resizable (both settings are not persistent at the moment)
  • Fixed a minor rendering issue for ...
Read More →