English

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

Software Engineering 2025-06-06 v1 Cryptography and Security

Abstract

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.

Keywords

Cite

@article{arxiv.2506.02667,
  title  = {Poster: libdebug, Build Your Own Debugger for a Better (Hello) World},
  author = {Gabriele Digregorio and Roberto Alessandro Bertolini and Francesco Panebianco and Mario Polino},
  journal= {arXiv preprint arXiv:2506.02667},
  year   = {2025}
}
R2 v1 2026-07-01T02:56:29.499Z