On Saturday, 21 September 2013 at 16:01:17 UTC, Maxim Fomin wrote:
On Saturday, 21 September 2013 at 14:30:19 UTC, Flamaros wrote:
I tried to used Valgrind (Linux) and Dr Memory (Windows)
without success to find a big leak I have in my application.
But both tools can't launch my application without make it
crash.
Is application crashing without these tools? Probably you have
some bug which is detected by valgrind.
Application run correctly without Valgring or Dr Memory.
By the way, some pitfalls of using valgrind for testing D code:
1) Its implementation of float numbers at compile time is buggy
(for example, there may be static asserts which are true when
running under native envorionment and false under valgrind)
2) Dmd's codegen is sometimes not supported by valgrind (cannot
execute some instructions which is rare case when something
from D beats some tool outside)
3) It has some false positives regarding using uninitialized
values especially during execution of GC code.
Yes, I think it's normal, I got also some false leaks from
graphics drivers. Sadly Valgrind make my application crash before
the initialization is finished.
I think I am in you 2 point.
Do I need do something particular, to have a chance to see one
of those tool working fine with my application?
If you run into #2 then you cannot fix it.
It can be really hard to find leaks manually, maybe some
option of the gc can help me?
If you look into gc sources, you can found some testing code,
but it needs druntime recompilation.