Hi Daniel and welcome to the Chicken mailing list.
Another thing to keep in mind is that the Chicken garbage-collector will move objects around during gc. That can cause a lot of hard-to-find bugs, and is probably one of the reasons for Joerg advice on not calling back into Scheme from your foreign-lambdas.
Another cause of problems with the relocations is that you cannot reference Chicken objects in C long-term, because the gc won't be able to update those pointers.
Having said that, the ffi in Chicken is really nice to use, so much that I often use it to explore new C api's.
And also, I sometimes use valgrind to check for memory leaks.
Best of luck!
K.
On Tue, Aug 6, 2019, 22:18 Jörg F. Wittenberger <
address@hidden> wrote:
Hello Daniel,
welcome here.
Since CHICKEN compiles into C, all the tools you are used with C to use
are still there.
Personally I'm not a fan of fancy debuggers, since most of the things I
write tend to depend on external (network) events. I'd welcome tips
how to automate those jobs using better tools than printing log
messages.
Memory use in code mixing C and CHICKEN Scheme can be hairy. I tend to
recommend to abstain from calling back from C into Scheme until you
know what you are doing.
http://wiki.call-cc.org/man/5/C%20interface#notes
Otherwise I used to run my code under valgrind, which helped me a lot
to catch some errors.
Best Regards
/Jörg
Am Tue, 6 Aug 2019 10:37:06 -0500
schrieb Daniel Ortmann <address@hidden>:
> Hello all,
> I am new to Chicken Scheme and experimenting with binding scheme to a
> C scanner built with Flex. The results are fast but I feel the need
> to monitor memory use and watch for leaks.
>
> The only relevant thing I find on call-cc.org is this url:
> http://wiki.call-cc.org/chicken-for-emacs-lisp-programmers#tooling
>
> What are your experiences, tools, and practices with debugging mixed
> Scheme + C code?
_______________________________________________
Chicken-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/chicken-users