C_BDD is a free and open source program analysis tool for C programs on UNIX systems only.
- Program execution: Run - Pause - Stop
- ELF: Display headers and sections
- Segmentation faults: Catch and analyse
- Stack: Display
- Register values: Display
- Program assembly: Display entirely or a restricted section
- Breakpoint: Stop the program before a function or elf-address
Please read the requirements specific notes before running this script.
git clone https://github.com/byjtew/C_BDD.git
cd C_BDD
mkdir build
cd build
cmake ..
make -j
./apps/c_bdd ../samples/stable_program
-h
/--help
: Show help message-v
/--version
: Show bugger version
Before typing any fo theses commands, you should run the debugger:
./bin/C_BDD <traced-program-path>
r
/run <parameters>
: Run the traced programrestart
: Restart the traced program from the beginnings
/step
: Run one assembly instruction in the traced-programstop
: Try to stop the traced programkill
: Force the traced program to stop (a memory leak issue may occur)status
: Display the overall traced program statusfunctions <full>
: Display every functionsreg
/registers
: Display every registers values (as %llu only)d
/dump <n>
: Display the program (assembly + C) with the next n lines at the current locationbp <address|function-name|line>
: Creates a breakpoint at the specified locationbp off <address|function-name>
: Removes a breakpoint from the specified locationbp show
: Display every breakpointsbt
/backtrace
: Show the current stack.elf
: Show elf information about the traced program.help
: Show help messageversion
: Show bugger version
The project is currently setup in two main branches:
develop
- This branch has often new features, but might also contain breaking changes. Might be unstablemain
- This branch contains the latest stable release.
For any questions not covered by the documentation or for further information about the debugger, or to simply engage with like-minded individuals, I encourage you to contact me directly on GitHub or Discord.
If you discover a bug in the debugger, please search the issue tracker first. If it hasn't been reported, please create a new issue and ensure to provide as much information as possible so that I can assist you as quickly as possible.
- UNIX-based OS
- CMake
- TBB
- git
- libunwind-dev
- liblzma-dev
- libfmt-dev
- objdump (Recommended)