Poster: libdebug, Build Your Own Debugger for a Better (Hello) World

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Digregorio, Gabriele, Bertolini, Roberto Alessandro, Panebianco, Francesco, Polino, Mario
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866915326885625856
author Digregorio, Gabriele
Bertolini, Roberto Alessandro
Panebianco, Francesco
Polino, Mario
author_facet Digregorio, Gabriele
Bertolini, Roberto Alessandro
Panebianco, Francesco
Polino, Mario
contents Automated debugging, long pursued in a variety of fields from software engineering to cybersecurity, requires a framework that offers the building blocks for a programmable debugging workflow. However, existing debuggers are primarily tailored for human interaction, and those designed for programmatic debugging focus on kernel space, resulting in limited functionality in userland. To fill this gap, we introduce libdebug, a Python library for programmatic debugging of userland binary executables. libdebug offers a user-friendly API that enables developers to build custom debugging tools for various applications, including software engineering, reverse engineering, and software security. It is released as an open-source project, along with comprehensive documentation to encourage use and collaboration across the community. We demonstrate the versatility and performance of libdebug through case studies and benchmarks, all of which are publicly available. We find that the median latency of syscall and breakpoint handling in libdebug is 3 to 4 times lower compared to that of GDB.
format Preprint
id arxiv_https___arxiv_org_abs_2506_02667
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Poster: libdebug, Build Your Own Debugger for a Better (Hello) World
Digregorio, Gabriele
Bertolini, Roberto Alessandro
Panebianco, Francesco
Polino, Mario
Software Engineering
Cryptography and Security
Automated debugging, long pursued in a variety of fields from software engineering to cybersecurity, requires a framework that offers the building blocks for a programmable debugging workflow. However, existing debuggers are primarily tailored for human interaction, and those designed for programmatic debugging focus on kernel space, resulting in limited functionality in userland. To fill this gap, we introduce libdebug, a Python library for programmatic debugging of userland binary executables. libdebug offers a user-friendly API that enables developers to build custom debugging tools for various applications, including software engineering, reverse engineering, and software security. It is released as an open-source project, along with comprehensive documentation to encourage use and collaboration across the community. We demonstrate the versatility and performance of libdebug through case studies and benchmarks, all of which are publicly available. We find that the median latency of syscall and breakpoint handling in libdebug is 3 to 4 times lower compared to that of GDB.
title Poster: libdebug, Build Your Own Debugger for a Better (Hello) World
topic Software Engineering
Cryptography and Security
url https://arxiv.org/abs/2506.02667