Unable to use tradional tools to find memory leaks
Maxim Fomin
maxim at maxim-fomin.ru
Sat Sep 21 14:46:30 PDT 2013
On Saturday, 21 September 2013 at 17:03:14 UTC, Brad Roberts
wrote:
> On 9/21/13 9:01 AM, 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.
>>
>> 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.
>>
>>> 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.
>
> That's wrong. Both DMD and Valgrind are software, both of
> which can be debugged and changed. Please file appropriate bug
> reports, hopefully with nicely minimized test cases.
No, that's true. DMD does produce some code which is executed by
native envoronment but not by valrgind which is likely to be a
valgrind bug. Sure, you can fix the issue belonging to a valgrind
code if you are a valring developer, but this is not an option
for most users.
More information about the Digitalmars-d-learn
mailing list