Skip to content
/ udi Public

A project to implement a debugger interface completely in userland.

License

Notifications You must be signed in to change notification settings

dxdbg/udi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Userland Debugger Interface

The Userland Debugger Interface (UDI) intends to provide a full-featured debugger interface for native applications, implemented completely in userland without utilizing debugging APIs provided by the OS/kernel.

For a discussion of the motivation for this project, see the design document.

Protocol

The foundation of UDI is a CBOR-based protocol that defines the communication between a debuggee and a debugger.

For more information about the protocol, see the protocol document.

Libraries

This project provides the following libraries:

libudi

The libudi library, written in Rust, provides an API for controlling a debuggee. This library is intended to be a fundamental part of a debugger and uses a pseudo-filesystem as the transport mechanism for the UDI protocol.

libudirt

The libudirt library, written in C, implements the debuggee side of the UDI protocol via a pseudo-filesystem, with no cooperation or modification to the native application being debugged.

libudi-c

The libudi-c library, written in Rust, is a wrapper around libudi that provides a C ABI API to libudi.

License

UDI is licensed under the MPL 2.

Contributors

The AUTHORS file provides a list of contributors to the UDI project.

About

A project to implement a debugger interface completely in userland.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published