Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update download buttons and auto play short videos #4

Merged
merged 2 commits into from
Feb 25, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
[![CI Status](https://github.com/metacraft-labs/codetracer/actions/workflows/codetracer.yml/badge.svg?branch=main)](https://github.com/metacraft-labs/codetracer/actions/workflows/codetracer.yml)
[![Discord](https://img.shields.io/discord/1326949714679038014?label=Discord&logo=discord&style=flat)](https://discord.gg/aH5WTMnKHT)

[Download CodeTracer AppImage](https://downloads.codetracer.com/CodeTracer-25.02.1-amd64.AppImage)
[Download CodeTracer for macOS](https://downloads.codetracer.com/CodeTracer-25.02.1-arm64.dmg)
[![Download AppImage](https://img.shields.io/badge/Download-AppImage-blue?style=for-the-badge)](https://downloads.codetracer.com/CodeTracer-25.02.1-amd64.AppImage)
[![Download macOS](https://img.shields.io/badge/Download-macOS-blue?style=for-the-badge)](https://downloads.codetracer.com/CodeTracer-25.02.1-arm64.dmg)

You can place the downloaded app bundle in a location of your choosing (e.g., the Applications folder on macOS or ~/.local/share/applications on Linux).
When you launch CodeTracer, it will prompt you to complete the final installation steps, such as adding the command-line utilities to your PATH.
Expand Down Expand Up @@ -51,7 +51,7 @@ CodeTracer uses an [open format](https://github.com/metacraft-labs/runtime_traci

Metacraft Labs is also developing an alternative back-end, capable of working with [RR] recordings, which will make CodeTracer suitable for debugging large-scale programs in a variety of system programming languages such as C/C++, Rust, Nim, D, Zig, Go, Fortran and FreePascal.

To shape our priorities and to help us understand the demographics of our user base better, please fill out [CodeTracer Developer Preferences Survey].
To shape our priorities and to help us understand the demographics of our user base better, please fill out [CodeTracer Developer Preferences Survey](https://form.typeform.com/to/M2Z28VFj).

To accelerate our development, please consider donating to our Open Collective campaign. Anyone who contributes more than $50 before June 2025 will get early access to our beta releases for system programming languages, forever.

Expand All @@ -66,7 +66,7 @@ Once you have time travel, you can re-imagine how a debugger works from the grou

When CodeTracer breaks at a certain line of code, it knows not only the past but also the future. You can immediately see the values of all variables in the current function right next to the source code. This includes variables in loops where you can easily scroll through the iterations. Taken code branches are highlighted, while the non-executed code is immediately grayed out.

https://downloads.codetracer.com/feature-highlights/omniscience.mp4
![omniscience](https://downloads.codetracer.com/feature-highlights/omniscience.webp "omniscience")

### Tracepoints

Expand All @@ -76,31 +76,31 @@ CodeTracer gives you the best of both worlds. A tracepoint allows you to see the

The added code can feature if statements, additional function calls and various ways to print or plot the captured data. The output is typically produced in seconds.

https://downloads.codetracer.com/feature-highlights/tracepoint.mp4
![tracepoint](https://downloads.codetracer.com/feature-highlights/tracepoint.webp "tracepoint")

### Call Trace

Instead of a stack trace limited to a single moment in time, CodeTracer shows you the entire tree of function calls in the recorded execution. You can navigate and filter it in various ways and the clever collapsing and expanding algorithms still allow you to obtain a classic stack trace whenever you need it.

https://downloads.codetracer.com/feature-highlights/calltrace.mp4
![calltrace](https://downloads.codetracer.com/feature-highlights/calltrace.webp "calltrace")

### State and History Explorer

Every variable in CodeTracer has a history. You can see all the values that the variable held during the entire execution of the program and for each of them you can jump to the originating expression that computed it. CodeTracer follows the path of trivial copies in assignments to save you extra time when tracking down more convoluted bugs.

https://downloads.codetracer.com/feature-highlights/state-and-history.mp4
![state-and-history](https://downloads.codetracer.com/feature-highlights/state-and-history.webp "state-and-history")

### Event Log

The event log gives you a chronological view over anything of interest in your program, interleaved with the tracepoint outputs. Clicking on any event takes you to the precise moment in time when it was produced, which gives you excellent starting points for your investigations. Tracking down the origins of anomalous events and program states through the history of the involved variables is the essence of debugging with CodeTracer.

https://downloads.codetracer.com/feature-highlights/eventlog.mp4
![eventlog](https://downloads.codetracer.com/feature-highlights/eventlog.webp "eventlog")

### Terminal Output

The terminal output panel renders the recorded `stdout` and `stderr` events like a standard terminal. Clicking anywhere in the output takes you to the exact moment when the specific character was generated. This allows for a fallback to a more traditional print-style debugging when the expressivity of tracepoints is not sufficient. In the future, CodeTracer will allow you to slide through the states of the terminal through time which will help for debugging highly interactive TUI apps.

https://downloads.codetracer.com/feature-highlights/terminal.mp4
![terminal](https://downloads.codetracer.com/feature-highlights/terminal.webp "terminal")

### Mouse Stepping

Expand All @@ -115,8 +115,6 @@ Explore the right-click context menu for additional operations.

The scratchpad provides a play area where you can pin values from different locations and moments in time. You can explore their differences both manually and algorithmically to gain quick insights into the behavior of your program.

[Short animation for using Scratchpad diff/REPL when we have it]

### The CodeTracer CLI

When you launch the CodeTracer GUI, it will offer you the option to also install the CodeTracer CLI. It provides convenient ways to create and load trace files from the command-line or to integrate CodeTracer with CI processes.
Expand Down