Author Topic: seeking debug tips for intermediate macro programming  (Read 7280 times)

aaronla

  • Guest
seeking debug tips for intermediate macro programming
« on: December 30, 2008, 09:54:27 AM »
I'm trying to polish up the lisp language macro posted up on slickedit.com ( the one by Gregg Tavares ) in order to get context tagging working better and with variants of Lisp (scheme, arc, clojure).

However, I'm running into problems debugging.  I can see results of `message()` calls when invoked by my `lisp_proc_search()` procedure, but breakpoints set by the Slick-C debugger are not hit, even if placed on the message() statement. 

I don't need interactive debugging support, but i do need some sort of logging output.  I've tried various hacks around creating and finding a sentinel buffer 'debug-output' to no avail.

Q: any suggestions on how to easily to logging and tracing in Slick-C?  Ideally, to the Output window?

#aaron

Graeme

  • Senior Community Member
  • Posts: 2793
  • Hero Points: 347
Re: seeking debug tips for intermediate macro programming
« Reply #1 on: January 02, 2009, 10:24:47 PM »

Q: any suggestions on how to easily to logging and tracing in Slick-C?  Ideally, to the Output window?

Do you know about the "say" command?  Also _assert and _StackDump.

Have you seen the pdf doc in the slick installation folder SlickCMacroBestPractices.pdf?

Graeme

aaronla

  • Guest
Re: seeking debug tips for intermediate macro programming
« Reply #2 on: January 03, 2009, 05:24:04 AM »
Ah, 'say()', can't believe i missed that.  A reminder to re-read of the macro best practices much appreciated.  I also forgot to add my new macro folder to VSLICKPATH, which explains why the stack dumps couldn't find my macros.

So, the 'current context' tool sees my functions, so I was wrong to assume that my_proc_search wasn't working -- I guess it's working, but that it doesn't cause the 'defs' window to be populated.  I'll take another look at some of the existing parsers I guess, to figure out what populates the 'defs' window.

Thx,

#aaron