Logo

rustc %5E1.71.1 orange total badge Issues Version Download Download

What is Stackium?

Stackium is a debugger for educational purposes. It is designed to be easy to use and to provide a good learning experience for beginners to help them understand memory management and pointer semantics in C.

stackium final

Launching Stackium

Optional dependencies:
- objdump for displaying the disassembly in the code view

Usage: stackium [OPTIONS] <PROGRAM>

Arguments:
  <PROGRAM>

Options:
  -m, --mode <MODE>  [default: web] [possible values: cli, web, gui]
  -h, --help         Print help
  -V, --version      Print version
You can also use stackium --help to get more information about the options.

Building a C program for Stackium

Tested for clang version 16.0.6.

Use the provided build_test.sh: build_test.sh <file>.c.

If you do not want to use the provided script, you need to specify the following flags:

Flags
  • -no-pie

    • disable position independent code (no ASLR)

  • -gdwarf-4

    • stackium doesn’t support dwarf-5 yet

  • -fno-omit-frame-pointer

    • stackium uses a very basic approach to build the stack trace which requires the frame pointer to be present

  • -g

    • enable debug symbols

  • -O0

    • disable optimizations