El golf tiene su propio lenguaje: depúralo como un experto en C

Aprende a depurar programas en Golf utilizando gdb, estableciendo puntos de interrupción, ejecutando paso a paso y explorando el código generado en C para un análisis detallado.

27 mar 2025 • 2 min de lectura • Equipo Q2BSTUDIO

Empresa-Software-Apps-InteligenciaArtificial

Para incluir información de depuración en el ejecutable de tu aplicación, ya sea un servidor de aplicaciones o una línea de comandos, usa la opción --debug. Por ejemplo, al construir la aplicación:

gg -q --debug

Esto añadirá información de depuración en el código de tu aplicación, permitiendo su depuración con gdb. Puedes depurar tu programa Golf con gdb como si fuera un programa en C, lo que facilita la identificación de problemas sin necesidad de trabajar con máquinas virtuales o ensamblador.

El ecosistema de depuración para Golf ya está completamente desarrollado. Puedes utilizar herramientas como Valgrind o Google ASAN con programas Golf de la misma manera que lo harías con un programa en C.

Para depurar el propio Golf, este debe haber sido compilado con información de depuración o utilizar la información de depuración incluida si fue instalado desde un paquete. Este tema será tratado en otro artículo.

Ejemplo de depuración con Golf:

Crearemos una aplicación de análisis llamada split que dividirá una cadena de consulta en nombre y valores:

gg -k split

Crea un archivo de código fuente parse.golf y copia lo siguiente:

begin-handler /parse
    silent-header
    set-string str = 'a=1&b=2&c=3'
    split-string str with '&' to pair count pair_tot
    start-loop repeat pair_tot use pair_count
        read-split pair_count from pair to item
        split-string item with '=' to equal
        read-split 1 from equal to name
        read-split 2 from equal to value
        pf-out 'Name [%s] value [%s]
', name, value
    end-loop
end-handler

Este programa analizará la cadena 'a=1&b=2&c=3' para generar pares de nombre/valor, similar a cómo se analizan las cadenas de consulta de URL.

Compila y enlaza el programa con:

gg -q --public --debug

El parámetro -q compila y enlaza tu proyecto. La opción --public hace que todos los manejadores sean públicos, permitiendo llamadas externas. --debug agrega información de depuración para gdb.

Para ejecutar la depuración con gdb, usa:

gg -r --req='/parse'

Esto configurará las variables de entorno necesarias y ejecutará el programa split.

Para iniciar gdb:

gdb /var/lib/gg/bld/split/split

Dentro de gdb, puedes establecer un punto de interrupción en el manejador parse y ejecutar cada línea del código:

(gdb) br parse
(gdb) run
(gdb) next
(gdb) print pair_count

Esto te permitirá seguir la ejecución del código línea por línea e inspeccionar variables en tiempo de ejecución.

Si deseas ver el código C generado por Golf, compila con:

gg -q --public --c-lines --debug

Esto te permitirá analizar el código subyacente de Golf en C y comprender mejor su funcionamiento.

En Q2BSTUDIO, expertos en desarrollo y servicios tecnológicos, comprendemos la importancia de herramientas avanzadas de depuración para garantizar soluciones eficientes y optimizadas. Nuestro equipo está preparado para implementar las mejores prácticas en desarrollo y depuración, asegurando software robusto y de alto rendimiento.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.