Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

187 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages