Skip to main content

AgentGDB

Supercharge your GDB debugging with the power of LLMs!

AgentGDB is a tool that brings natural language understanding to the GDB debugger. Describe what you want to do in plain English, and AgentGDB will translate your request into the appropriate GDB commands. Focus on solving bugs, not memorizing debugger syntax!

AgentGDB Screenshot

Contents

  1. Installation
  2. Updating
  3. Usage
  4. Features
  5. Contributing

Installation

You can install AgentGDB using pip:

pip install agentgdb

Alternatively, you can install from source:

git clone https://github.com/jjravi/AgentGDB.git
cd AgentGDB
python -m venv openai-env
source openai-env/bin/activate
pip install -e .

You'll need to have GDB installed on your system.

Updating

To update AgentGDB, simply run:

pip install -U agentgdb

Or if installed from source:

git pull origin main
pip install -e .

Usage

To use AgentGDB, you need to configure GDB to find the AgentGDB package and its dependencies. The recommended way is to add the following to your ~/.gdbinit file:

# In ~/.gdbinit
python
import sys
import subprocess
import os

try:
    env_python = "python3"  # Or "python", or e.g., "/path/to/venv/bin/python"

    paths_str = subprocess.check_output(
        [env_python, "-c", "import sys, os; print(os.linesep.join(sys.path))"],
        stderr=subprocess.PIPE
    ).decode("utf-8")

    for p in paths_str.split(os.linesep):
        if p and os.path.isdir(p) and p not in sys.path:
            sys.path.append(p)

    import agentgdb
    gdb.execute(f"source {agentgdb.MAIN_SCRIPT_PATH}") # load config and register GDB commands.

except FileNotFoundError:
    print(f"[AgentGDB] Error: Python executable '{env_python}' not found. Please check the path in your .gdbinit.")
except subprocess.CalledProcessError as e:
    error_message = e.stderr.decode().strip() if e.stderr else str(e)
    print(f"[AgentGDB] Error getting sys.path from '{env_python}': {error_message}")
    print(f"[AgentGDB] Ensure '{env_python}' is a valid Python interpreter and has the 'agentgdb' package and its dependencies (like 'openai') installed.")
except ImportError:
    print("[AgentGDB] Error: Could not import 'agentgdb' package after setting sys.path.")
    print(f"[AgentGDB] This usually means 'agentgdb' is not installed in the Python environment targeted by '{env_python}'.")
except Exception as e:
    print(f"[AgentGDB] An unexpected error occurred during AgentGDB setup: {e}")

end

Once your ~/.gdbinit is configured, start GDB as usual:

gdb your_program

Then, you can use the natural language commands:

  • agent: Executes the command directly
  • ask: Shows the suggested command and asks for confirmation before execution

Examples:

(gdb) agent show all breakpoints
(gdb) ask print the value of variable x

Features

  • Natural Language to GDB: Describe your intent, and AgentGDB figures out the command.
  • Multi-stage Processing:
    1. Classifies your query into GDB command categories
    2. Gets help for relevant command class
    3. Selects the most appropriate command
    4. Gets detailed help for the selected command
    5. Generates the exact GDB command to accomplish your intent
  • Two Interaction Modes: Direct execution with agent or confirmation-based with ask
  • Streaming Output: See the LLM's thought process and command generation in real time.

Contributing

Contributions are welcome! Please open issues or pull requests on GitHub.


Note: AgentGDB is under active development. Feedback and suggestions are highly appreciated!

Release files for agentgdb 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentgdb 0.1.5
File Size Uploaded
agentgdb-0.1.5.tar.gz 13.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentgdb 0.1.5
File Interpreter ABI Platform
agentgdb-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 26.0 kB

Release files / agentgdb-0.1.5.tar.gz

Download URL agentgdb-0.1.5.tar.gz
Size 13.2 kB
Tags Source
SHA-256 checksum
How to use checksums
71fa37885633f8f30dec6c6f0739adfcc46ddf36ca5fb0926eecd7dded61e875
BLAKE2b-256 checksum
How to use checksums
ec0cbb7dfe783e7b0c0cb371d4fe9efeccfe2067927a3a58de4130aab94ee22c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / agentgdb-0.1.5-py3-none-any.whl

Download URL agentgdb-0.1.5-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee6ef5716582473c946fd7934af02fc93ddd92c8e4c9a83677f9bd55809d7ac9
BLAKE2b-256 checksum
How to use checksums
df22b45747243897259fd7c4ed59b38b0d94e18edc84087c030bd66ad35ce9c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page