Skip to main content
Glama

LLDB-MCP

BSD 2-Clause "Simplified" License
1

LLDB-MCP

Captura de pantalla

Mírelo en acción aquí, depurando automáticamente un desbordamiento de búfer: https://x.com/full\_duplex/status/1904770477698277847

Descripción general

LLDB-MCP es una herramienta que integra el depurador de LLDB con el Protocolo de Contexto de Modelo (MCP) de Claude. Esta integración permite a Claude iniciar, controlar e interactuar directamente con las sesiones de depuración de LLDB, lo que habilita flujos de trabajo de depuración asistidos por IA.

La herramienta proporciona un conjunto completo de comandos para trabajar con LLDB, incluidos:

  • Iniciar y administrar sesiones LLDB
  • Cargando programas para depuración
  • Establecer puntos de interrupción y puntos de vigilancia
  • Controlar la ejecución del programa
  • Examinando la memoria, los registros y las variables
  • Análisis de seguimientos de pila y del estado del programa

Características

  • Crear y administrar múltiples sesiones de depuración de LLDB
  • Cargar ejecutables y adjuntarlos a procesos en ejecución
  • Cargar archivos de volcado de núcleo para análisis post mortem
  • Ejecutar comandos LLDB arbitrarios
  • Control detallado sobre la ejecución del programa
  • Examen y desmontaje de la memoria
  • Inspección del marco de la pila y del hilo

Instalación

  1. Clonar el repositorio:
    git clone https://github.com/stass/lldb-mcp.git cd lldb-mcp
  2. Instalar dependencias:
    pip install mcp
  3. Configurar Claude para utilizar el servidor LLDB-MCP:
    • Abra la configuración de la aplicación de escritorio Claude
    • Agregue lo siguiente a su configuración de MCP: GXP3

Uso

Una vez instalado y configurado, puedes interactuar con LLDB a través de Claude utilizando lenguaje natural.

Flujo de trabajo básico

  1. Iniciar una nueva sesión de LLDB
  2. Cargar un programa
  3. Establecer puntos de interrupción
  4. Ejecutar el programa
  5. Inspeccionar variables y memoria
  6. Controlar la ejecución (continuar, paso, siguiente, etc.)
  7. Terminar la sesión cuando haya terminado

Comandos de ejemplo

A continuación se muestran algunos ejemplos de cómo interactuar con LLDB-MCP a través de Claude:

  • "Iniciar una nueva sesión de LLDB"
  • "Cargar el programa '/ruta/al/ejecutable'"
  • "Establecer un punto de interrupción en el servidor principal"
  • "Ejecutar el programa"
  • "Mostrar seguimiento inverso"
  • "Imprimir el valor de la variable 'count'"
  • "Pasa a la siguiente línea"
  • "Examinar la memoria en la dirección 0x1000"
  • "Mostrar valores de registro"
  • "Continuar la ejecución"
  • "Matar el proceso"
  • "Terminar la sesión LLDB"

Comandos compatibles

Gestión de sesiones

  • lldb_start : Iniciar una nueva sesión LLDB
  • lldb_terminate : Terminar una sesión LLDB
  • lldb_list_sessions : enumera todas las sesiones LLDB activas

Carga del programa

  • lldb_load : Cargar un programa en LLDB
  • lldb_attach : Adjuntar a un proceso en ejecución
  • lldb_load_core : Cargar un archivo de volcado de núcleo

Control de ejecución

  • lldb_run : Ejecuta el programa cargado
  • lldb_continue : Continuar la ejecución del programa
  • lldb_step : Pasar a la siguiente línea o instrucción
  • lldb_next : Pasar por alto las llamadas de función
  • lldb_finish : Ejecutar hasta que la función actual regrese
  • lldb_kill : Mata el proceso en ejecución

Puntos de interrupción y puntos de vigilancia

  • lldb_set_breakpoint : Establecer un punto de interrupción
  • lldb_breakpoint_list : Lista todos los puntos de interrupción
  • lldb_breakpoint_delete : Eliminar un punto de interrupción
  • lldb_watchpoint : establece un punto de vigilancia en una variable o dirección de memoria

Inspección

  • lldb_backtrace : Mostrar la pila de llamadas
  • lldb_print : Imprimir el valor de la expresión
  • lldb_examine : Examinar la memoria
  • lldb_info_registers : Mostrar registros
  • lldb_frame_info : Obtener información detallada sobre un marco de pila
  • lldb_disassemble : Desensamblar código
  • lldb_process_info : Obtener información sobre el proceso actual

Gestión de subprocesos

  • lldb_thread_list : enumera todos los hilos en el proceso actual
  • lldb_thread_select : Selecciona un hilo específico

Misceláneas

  • lldb_command : Ejecuta un comando LLDB arbitrario
  • lldb_expression : evalúa una expresión en el marco actual
  • lldb_help : Obtenga ayuda para los comandos LLDB

Programa de ejemplo

example/overflow.c contiene un programa de C de ejemplo que provoca un desbordamiento de búfer con ciertos argumentos. Compílelo con cc overflow.c y pídale a Claude que depure el problema con el programa resultante:

I'm trying to debug my program a.out that is crashing with certain arguments, e.g. when I pass "hello". Can you help me debug it?

Consejos de depuración

  • Utilice lldb_command cuando necesite ejecutar comandos LLDB que no tengan una función dedicada
  • Habilite el modo de depuración con el indicador --debug al iniciar el servidor para obtener un registro detallado
  • Las sesiones se limpian automáticamente cuando se apaga el servidor
  • Cada sesión tiene una identificación única: asegúrese de utilizar la identificación correcta al ejecutar comandos

Requisitos

  • Python 3.7+
  • LLDB instalado en el sistema
  • Aplicación de escritorio Claude compatible con MCP

Solución de problemas

  • Si los comandos LLDB se agotan, verifique que LLDB esté instalado correctamente
  • Verificar la ruta a LLDB al iniciar una nueva sesión
  • Compruebe si hay problemas de permisos al adjuntar a procesos
  • Revisar los registros de depuración si los comandos no se ejecutan correctamente

Licencia

BSD de 2 cláusulas

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Un servidor MCP para LLDB que permite el análisis, la depuración y el desmontaje automáticos de aplicaciones nativas.

  1. Descripción general
    1. Características
      1. Instalación
        1. Uso
          1. Flujo de trabajo básico
          2. Comandos de ejemplo
        2. Comandos compatibles
          1. Gestión de sesiones
          2. Carga del programa
          3. Control de ejecución
          4. Puntos de interrupción y puntos de vigilancia
          5. Inspección
          6. Gestión de subprocesos
          7. Misceláneas
        3. Programa de ejemplo
          1. Consejos de depuración
            1. Requisitos
              1. Solución de problemas
                1. Licencia

                  Related MCP Servers

                  • -
                    security
                    A
                    license
                    -
                    quality
                    A Python-based MCP server that allows Claude and other LLMs to execute arbitrary Python code directly through your desktop Claude app, enabling data scientists to connect LLMs to APIs and executable code.
                    Last updated -
                    23
                    MIT License
                    • Apple
                    • Linux
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A GDB/MI protocol server based on the MCP protocol, providing remote application debugging capabilities.
                    Last updated -
                    19
                    Rust
                    MIT License
                    • Linux
                    • Apple
                  • A
                    security
                    A
                    license
                    A
                    quality
                    MCP server for reverse engineering that enables interaction with IDA Pro for analysis tasks such as decompilation, disassembly, and memory engagement reports.
                    Last updated -
                    24
                    28
                    Python
                    MIT License
                  • -
                    security
                    A
                    license
                    -
                    quality
                    An MCP server that allows LLMs to autonomously reverse engineer applications by exposing Ghidra functionality, enabling decompilation, analysis, and automatic renaming of methods and data.
                    Last updated -
                    4,290
                    Apache 2.0
                    • Apple

                  View all related MCP servers

                  MCP directory API

                  We provide all the information about MCP servers via our MCP API.

                  curl -X GET 'https://glama.ai/api/mcp/v1/servers/stass/lldb-mcp'

                  If you have feedback or need assistance with the MCP directory API, please join our Discord server