Utilisation d'un débogueur

Lua:
Utilisation d'un débogueur

Comment faire :

Lua n’est pas fourni avec un débogueur intégré, mais vous pouvez utiliser des débogueurs externes, comme ZeroBrane Studio. Voici un aperçu de la façon dont vous travailleriez avec :

-- Ceci est un simple script Lua avec une erreur intentionnelle
local function add(a, b)
    local result = a + b -- Oups, faisons comme si nous avions oublié de définir 'b'
    return result
end

print(add(10))

Lorsque vous exécutez cela dans un débogueur, il arrêtera l’exécution là où les choses se gâtent. Vous verrez quelque chose comme ceci :

lua: example.lua:3: tentative de réaliser une opération arithmétique sur une valeur nil (local 'b')
trace de la pile :
	example.lua:3: dans la fonction 'add'
	example.lua:7: dans le bloc principal
	[C]: dans ?

Vous pouvez placer des points d’arrêt, parcourir votre code pas à pas et examiner les valeurs des variables pour traquer le bug sans perdre la tête.

Plongée profonde

La simplicité de Lua ne s’étend malheureusement pas au débogage. Pas de soucis cependant, la communauté Lua vous soutient. Des outils comme ZeroBrane Studio, LuaDec et d’autres offrent des capacités de débogage. Historiquement, les débogueurs existaient peu de temps après que les premiers programmes ont tourné au vinaigre, donnant aux développeurs le moyen de corriger leur code sans tâtonner à l’aveugle.

Avec Lua, vous comptez souvent sur des débogueurs externes ou les intégrez à votre environnement de développement. ZeroBrane Studio, par exemple, est un IDE qui intègre pleinement un débogueur Lua. Il vous permet de parcourir le code pas à pas, de placer des points d’arrêt et de surveiller les variables. Du côté de l’implémentation, les débogueurs utilisent généralement des crochets pour insérer des points d’arrêt et d’autres installations de débogage.

Des alternatives ? Bien sûr. De bons vieux messages print, affectueusement connus sous le nom de débogage “printf”, peuvent parfois faire l’affaire sans outils sophistiqués.

Voir aussi

Pour poursuivre votre voyage de débogage, consultez :