On Tue, 3 Jun 2003, Martin Stjernholm, Roxen IS @ Pike developers forum wrote:
Hi,
variable draftmail is referenced 1107 times variable misspelled is referenced 7067 times variable spelling is referenced 7067 times variable deletemails is referenced 7067 times variable deletemboxes is referenced 7067 times variable prefuids is referenced 7067 times variable searchstring is referenced 1107 times variable session is referenced 1107 times
Are all these really variables in your object? If so, do they point to functions in some global module or something like that?
Yes there are variables inside my object. There are not referenced by other global modules.
. Is it possible to know which things reference which variables ?
There's one tool: If you compile with rtl-debug, there's a function _locate_references that walks through all things and prints the ones that reference the argument (in debug style). It's really useful, especially in 7.4 and later where it has been improved to report on the more odd sorts of references.
Ok I will try that.
I also enable debug in gc.c to find the problem but the output looks quite cryptic to me. /.../
I'm not surprised. ;) Really, that output isn't useful to hunt down
Hehe :)
leaks. _locate_references is, and if you suspect C-level leaks, the dmalloc debug mode.
I don't think it's a problem at the C level but more propably at Camas or 123sessions level.
Why some references are weaker than others ?
Not sure how to respond to this. Have you looked at the comment blurb near the top of gc.c?
Yes.