From SET (SF user set):
2) How do I dump the list of blocks that remains
allocated after exit? I
added code and an option to do it but perhaps is
already there.
3) I needed to use MSS_DTOR_AFTER_ATEXIT for gcc 2.81.
See more in 5.
5) The MSS_DTOR_AFTER_ATEXIT doesn't work because
Mss::~Mss calls an
undefined function. I fixed it.
6) As usual with code using tabs the code is
inconsistent, some places uses
tabs and others not, some places have just tabs and
others spaces plus tabs,
etc. I just hate tabs ;-)
8) I added some code to print how many warnings are
there. That's needed
when
LOG items are there and you want to quickly know if any
warning exists.
9) I added a stupid memory dump that you'll most
probably delete. I let it
in
the diffs just to show the idea. It helped me a lot.
The patch itself
Logged In: YES
user_id=24239
From e-mail discussion with set:
>>9) I added a stupid memory dump that you'll most probably
delete. I let it
>>> > in
>>> > the diffs just to show the idea. It helped me a lot.
>
>>
>> I don't get it - you mean a dump of allocated blocks or
something else? If
>> the former, then MSS already had a function for this.
In addition to the list of all allocated blocks at exit I
added code to show what
contains each block. I limited it to the first 20 bytes.
That's dangerous but with
some changes could become an option. Is very useful to know
what contains the
block, sometimes it contains a readable string that you know
very well to what
part of the code belongs.
I found that the menu associated to the right mouse key
wasn't deallocated at exit
when the dump exposed the strings used for this menu ;-)
Logged In: YES
user_id=24239
Add an updated patch by set.
Here is the relevant part of set's e-mail:
2) I didn't check the functionallity of the patches, they just
compile. It looks like the code didn't change so they should
work
OK, but I didn't have the time to test them.
3) I added another option (disabled by default) for the code I
used to dump the first 20 bytes of each block. As I told you
before this resulted to be really useful because I have a lot of
allocations through newStr and then I get logs about newStr that
are impossible to track down.
An updated patch