09/21/2012

Determine in which line of AutoLISP code an error exists

In much previous versions of AutoLISP and Visual LISP (VLISP), when an AutoLISP function terminated unexpectedly in the drawing editor, the entire expression would display on the screen, which made it easy to locate the exact line which contained the error. When this situation occurs In recent AutoCAD versions, locating the error is not as easy because only a message such as "Bad argument type: lentityp' (or stringp)" displays. The error message unfortunately does not state in which line of code the error exists.

How errors in AutoLISP code are handled has been changed. Now, to locate the error in the code, you will need to use the Visual Lisp IDE. Although it may require that you learn about the IDE debug features, you'll find that it's a much better environment to debug AutoLISP code than in previous releases of AutoCAD. What you need to do to enable this facility is to perform the following steps:

1. Open the Visual Lisp IDE at the beginning of your AutoCAD session by typing VLISP or VLIDE at the command line.

2. Select the Debug menu in the IDE, and select 'Break On Error'.

3. Load your AutoLISP code and run it.

When an error in your code occurs, you'll be put back into the Visual LISP IDE. All you then need to do, to find the line in the code that contains the error is to select the 'Last Break' option on the Debug Toolbar, or the 'Last Break Source' from the Debug menu.

There are many more powerful tools available to debug yourAutoLISP code using the Visual Lisp IDE, To learn about them, refer to the Visual LISP Developer's Guide >> Debugging Programs for more information about the IDE and its debugging features.

Comments

In much previous versions of AutoLISP and Visual LISP (VLISP), when an AutoLISP function terminated unexpectedly in the drawing editor, the entire expression would display on the screen, which made it easy to locate the exact line which contained the error. When this situation occurs In recent AutoCAD versions, locating the error is not as easy because only a message such as "Bad argument type: lentityp' (or stringp)" displays. The error message unfortunately does not state in which line of code the error exists.

How errors in AutoLISP code are handled has been changed. Now, to locate the error in the code, you will need to use the Visual Lisp IDE. Although it may require that you learn about the IDE debug features, you'll find that it's a much better environment to debug AutoLISP code than in previous releases of AutoCAD. What you need to do to enable this facility is to perform the following steps:

1. Open the Visual Lisp IDE at the beginning of your AutoCAD session by typing VLISP or VLIDE at the command line.

2. Select the Debug menu in the IDE, and select 'Break On Error'.

3. Load your AutoLISP code and run it.

When an error in your code occurs, you'll be put back into the Visual LISP IDE. All you then need to do, to find the line in the code that contains the error is to select the 'Last Break' option on the Debug Toolbar, or the 'Last Break Source' from the Debug menu.

There are many more powerful tools available to debug yourAutoLISP code using the Visual Lisp IDE, To learn about them, refer to the Visual LISP Developer's Guide >> Debugging Programs for more information about the IDE and its debugging features.