1 MIN 1 CAD: Obtenga un Lisp correcto en 1 minuto

Con 10 años de experiencia en escritura lisp, Arphone, subgerente de Investigación y Desarrollo de aplicaciones de ZWCAD, compartió con nosotros cómo aumentar la precisión de los programas Lisp de Lisp Debugger en ZWCAD 2020.

ZWCAD es compatible con Lisp desde su primera versión, pero no tiene depurador desde hace mucho tiempo. Entonces, en los viejos tiempos, si queremos depurar un programa Lisp, es posible que tengamos que copiar los códigos línea por línea en la línea de comando de ZWCAD para descubrir el error. Sin embargo, a veces este método no funciona bien. Tomemos el siguiente programa que escribí para definir el comando FOO y llamar a la función BAR como ejemplo.

Es difícil depurar estos códigos línea por línea porque dentro de la función FOO hay una función mapcar que llama a una expresión lambda.

La buena noticia es que ahora tenemos Lisp Debugger en ZWCAD 2020 , para depurar mejor nuestros programas Lisp en ZWCAD. Esta herramienta es, de hecho, una extensión de Visual Studio Code, que es un editor de código fuente ligero pero potente de Microsoft®, y es gratuito y de código abierto. Esta extensión y VSCode se instalan junto con ZWCAD 2020. Por supuesto, también puede descargar VSCode desde el sitio web de Microsoft® e instalar la extensión del depurador ZWLisp desde su mercado de extensiones.

Figura 1. ZwLisp en Microsoft® Extension Market

Vuelve al FOO Lisp. Entonces, ¿cómo lo depuro en ZWCAD 2020? En primer lugar, ejecuto VSCode ejecutando el comando VLIDE o VLISP. Puede preguntar si VSCode se puede iniciar manualmente, pero no lo sugeriré porque VLIDE o VLISP harán una cosa más importante, excepto para iniciar VSCode: notar que ZWCAD recopila información de depuración. En otras palabras, decirle a ZWCAD que esté preparado para la depuración.

Figura 2. La interfaz de VSCode lanzada por VLIDE o VLISP

Luego abro el archivo fuente en VSCode y realizo la configuración necesaria para iniciar la sesión de depuración. Elijo Adjuntar a ZWCAD como modo de depuración, ya que voy a adjuntar la sesión de depuración a un proceso de ZWCAD en ejecución. Si necesita iniciar un nuevo proceso de ZWCAD, puede elegir el modo de inicio.

Figura 3. Seleccione el modo de depuración

Una vez iniciada la sesión de depuración, vuelvo a ZWCAD y cargo el archivo fuente bar.lsp. Tenga en cuenta que este paso debe realizarse después de ejecutar el comando VLIDE o VLISP porque ZWCAD debe recopilar información mientras carga el archivo fuente.

Figura 4. Cargue el archivo fuente en ZWCAD

Y luego podemos ejecutar el comando FOO y cuando ocurra una excepción se mostrará en VSCode, incluida su ubicación, pila de llamadas e información variable.

Figura 5. Depura el programa en VSCode

Después de encontrar el error, la sesión de depuración se desconectará, por lo que si quiero depurar el FOO Lisp nuevamente, necesito iniciar otra sesión de depuración nuevamente.

Este depurador puede sernos muy útil para descubrir cuál es el problema en nuestros programas Lisp.

Scroll al inicio