VS Code débogage

Le débogage est une étape importante.

Il est possible de déboguer de deux façons, soit en lançant AutoCAD dans une session distincte, soit de travailler dans la session existante si vous avez lancé VS Code depuis une session d'AutoCAD.

Il va falloir vérifier le contenu d'un fichier "launch.json".
En allant dans le menu RUN, vous descendez jusqu'à "Open Configurations" :

Ajouter Configuration Debug VS Code

Et là un fichier va s'ouvrir dans un nouvel onglet "launch.json".
Vérifiez que dans "attributes" de la première partie "launchlisp" il y ait bien le chemin correct pour lancer votre version d'AutoCAD.
Dans la partie "attachlisp" dans la ligne "attributes" deux cas se présentent ;
Vous êtes en Windows : il devra être précisé {"process": "acad"}
Vous êtes en Mac Os: il devra être précisé {"process": "AutoCAD"}

Options Debug dans launch.json VS Code

La partie Launch concerne les options de lancement de la version AutoCAD lors du débogage, il est possible d'y ajouter les switches (commutateurs de démarrage) habituels dans les raccourcis de lancement.
Par exemple, vous pouvez terminer la ligne par /t MonGabarit pour démarrer avec le fichier gabarit qui va bien ou encore /nologo si vous ne voulez par voir le splash AutoCAD au démarrage.

Ces deux possibilités vont entrer en jeu au moment du débogage, ma préférence va à "attachlisp" qui va lancer le programme .lsp dans la session en cours.

Pour lancer le débogage, à proprement parler, on retourne dans le menu RUN, et on choisit Start debugging ou appuyer sur la touche F5, et dans la fenêtre de débogage, en bas à droite de l'écran un message vous précise que le fichier est chargé dans la session courante :

 

Chargement du fichier LSP

On bascule dans la session AutoCAD et puis la commande est "testcommande" on tape son nom en ligne de commande et le programme lsp se lance.
Puisqu'il n'y a pas d'erreur rien ne se passe concernant le débogage, mais pour avoir la main sur l'éditeur de programme, pour continuer ou faire des modifications, il faut arrêter le débogage par "Stop Degugging" ou Shift+F5.
Cette ligne de stop debugging est grisée quand aucun débogage n'est en cours et devient active lors du lancement du débogage, donc si elle est "allumée" faites-y attention avant de faire des modifications dans le programme.

Lancement du programme lsp

Pour l'exemple, je vais faire exprès de faire une erreur, ce n'est pas banal on en fait tellement par inadvertance que ça fait drôle d'en faire volontairement, donc je rajoute deux lignes au programme essai-01.lsp :

(setq a 100 b 0) ; définition de deux variables a et b avec des valeurs respectives de 100 et 0
(setq variableErreur (/ a b))  ; division de la variable a par la variable b

et je relance le débogage... il m'est demandé le premier point, je le clique, puis le deuxième, que je clique aussi, la ligne se dessine, puis la fenêtre VS Code s'ouvre avec une alerte colorée sur la ligne qui pose problème, en l'occurrence une division par 0 (zéro) :
Arrêt sur la ligne fautive

J'arrête le débogage (Shift+F5) et je modifie la valeur de la variable b en lui mettant une valeur différente de 0, je choisis de mettre 2.0 et je relance de débogage (F5), tout se passe bien jusqu'à la fin, car on voit en ligne de commande 50.0 ce qui est la valeur renvoyée par la dernière ligne de code.

Points d'arrêt.

Pour déposer un point d'arrêt (breaking point) il faut cliquer dans la marge côté éditeur de code à gauche des numéros de lignes :

Point Arrêt

Maintenant on relance le débogage (F5) et le programme va s'arrêter que la ligne comportant un point d'arrêt :

Action du point d'arrêt

Et en appuyant sur F10, dans la fenêtre VS Code pas dans l'interface graphique AutoCAD, le programme va se dérouler ligne par ligne à chaque pression sur F10.
Vous notez que les variables locales, déjà renseignées, car avant le point d'arrêt, apparaissent dans une fenêtre en haut à gauche, et que dans "last value" chaque valeur renvoyée par une ligne de code apparait aussi.

Voilà, je termine ici pour la prise en main de ce nouvel environnement, il reste beaucoup de travail, mais j'espère vous avoir décortiqué les questions que tout le monde se pose et vous avoir donné envie de faire des tests.

Je suis, comme toujours, disponible via le formulaire de contact pour répondre aux questions si je suis en capacité de le faire, et d'écouter vos remarques pour des corrections éventuelles de ma prose ou des chapitres que vous aimeriez trouver ici.

Amicalement

 


08 janvier 2022