SMART has a reasonable error setting and reporting facility that has not always been used within SMART as extensively as it should. There may be times when you get the dreaded
smart: 5: Undetermined Error - Quit
message and have no idea what happened. (This should be reported
as a bug; hopefully after you've determined the error!) About
the only thing you can do other than run a C debugger is to turn
tracing on and at least find out what smart hierarchy procedure
had last been entered. Most reported errors should at least make
sense, it just may be difficult (without tracing) to figure out
what high-level procedure was responsible for a low-level
procedure error.