POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

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

Depuración avanzada de aplicaciones Golf con gdb y herramientas externas

Publicado el 27/03/2025

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.

Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Enviado correctamente.

Gracias por confiar en Q2BStudio