Per incloure informació de depuració a l'executable de la teva aplicació, ja sigui un servidor d'aplicacions o una línia d'ordres, utilitza l'opció --debug. Per exemple, en construir l'aplicació:
gg -q --debug
Això afegirà informació de depuració al codi de la teva aplicació, permetent-ne la depuració amb gdb. Pots depurar el teu programa Golf amb gdb com si fos un programa en C, cosa que facilita la identificació de problemes sense necessitat de treballar amb màquines virtuals o assemblador.
L'ecosistema de depuració per a Golf ja està completament desenvolupat. Pots utilitzar eines com Valgrind o Google ASAN amb programes Golf de la mateixa manera que ho faries amb un programa en C.
Per depurar el propi Golf, aquest ha d'haver estat compilat amb informació de depuració o utilitzar la informació de depuració inclosa si va ser instal·lat des d'un paquet. Aquest tema serà tractat en un altre article.
Exemple de depuració amb Golf:
Crearem una aplicació d'anàlisi anomenada split que dividirà una cadena de consulta en nom i valors:
gg -k split
Crea un fitxer de codi font parse.golf i copia el següent:
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]\n', name, value
end-loop
end-handler
Aquest programa analitzarà la cadena 'a=1&b=2&c=3' per generar parells de nom/valor, similar a com s'analitzen les cadenes de consulta d'URL.
Compila i enllaça el programa amb:
gg -q --public --debug
El paràmetre -q compila i enllaça el teu projecte. L'opció --public fa que tots els manejadors siguin públics, permetent crides externes. --debug afegeix informació de depuració per a gdb.
Per executar la depuració amb gdb, utilitza:
gg -r --req='/parse'
Això configurarà les variables d'entorn necessàries i executarà el programa split.
Per iniciar gdb:
gdb /var/lib/gg/bld/split/split
Dins de gdb, pots establir un punt d'interrupció al manejador parse i executar cada línia del codi:
(gdb) br parse
(gdb) run
(gdb) next
(gdb) print pair_count
Això et permetrà seguir l'execució del codi línia per línia i inspeccionar variables en temps d'execució.
Si desitges veure el codi C generat per Golf, compila amb:
gg -q --public --c-lines --debug
Això et permetrà analitzar el codi subjacent de Golf en C i comprendre'n millor el funcionament.
A Q2BSTUDIO, experts en desenvolupament i serveis tecnològics, comprenem la importància d'eines avançades de depuració per garantir solucions eficients i optimitzades. El nostre equip està preparat per implementar les millors pràctiques en desenvolupament i depuració, assegurant programari robust i d'alt rendiment.




