Skip to content
/ sdb Public

A simple x86-64 instruction-level debugger. 🐛

License

Notifications You must be signed in to change notification settings

Lai-YT/sdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDB - Simple Instruction-Level Debugger

Important

Only 64-bit static-nopie programs on x86-64 architecture are supported.

Prerequisites

  • Make for building the project.
  • A C++17 compliant compiler, such as GCC or Clang, for building the project.
  • libreadline for command line editing.
  • libcapstone for disassembling instructions.

Build

make

The executable sdb will be generated under the project root.

Usage

$ ./sdb --help
Usage: sdb [OPTION...] [PROGRAM]

A simple x86-64 instruction-level debugger.

  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version

Copyright (c) 2024 Lai-YT under the MIT License.

Features

Several common features are supported. You can view them by typing help in the debugger.

(sdb) help
Commands:
  load [program] - load a program
  cont - continue the program
  break [hex address] - set a breakpoint
  si - single step
  info reg - show registers
  info break - show breakpoints
  delete [breakpoint id] - delete a breakpoint
  syscall - execute until syscall or breakpoint
  patch [hex address] [hex data] [length] - patch memory; length: 1, 2, 4, 8
  help - show this message

License

This project is licensed under the MIT License.

About

A simple x86-64 instruction-level debugger. 🐛

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published