Git Product home page Git Product logo

dbg's Introduction

dbg

A toy debugger. Just started out goofing around with ptrace(2) and this came out the other end.

Currently works on:

  • CPUs: x86/amd64 only at the moment.

  • Operating Systems: Linux, FreeBSD, OpenBSD, macOS.

Commands are inspired by windbg. Currently:

  • bp - Create breakpoint

  • bl - List breakpoints

  • bc - Clear breakpoint

  • db, dw, dd, dq - Dump memory in 8, 16, 32, and 64 bit quantities respectively

  • eb, ew, ed, eq - Edit memory in the same units.

  • .detach - Detach the target

  • g - Go (continue execution)

  • k - Stack trace

  • r - Print or edit registers

  • q - Quit the process & debugger

TODO

  • Symbolication, DWARF, etc.
  • Threads.
  • More CPU arches and operating systems:
    • Windows? The APIs are pretty clean.
    • ARM?
    • Dead platforms? (Solaris, SPARC, PowerPC?)

Building

$ git submodule update --init
$ make   # (or gmake on some systems, eg. *BSD)

For x86 you will need python2 on the path.

For macOS you will need a code sign identity, as Apple does not allow unsigned apps to attach for debugging.

The app requires libreadline.

dbg's People

Contributors

asveikau avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.