<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-10-23 17:21 GMT+02:00 Steve Lhomme <span dir="ltr"><<a href="mailto:robux4@gmail.com" target="_blank">robux4@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Fri, Oct 23, 2015 at 4:53 PM, Rémi Denis-Courmont <<a href="mailto:remi@remlab.net">remi@remlab.net</a>> wrote:<br>
> Le 2015-10-23 17:09, Steve Lhomme a écrit :<br>
>><br>
>> ---<br>
>>  src/libvlc.c | 12 ++++++++++++<br>
>>  1 file changed, 12 insertions(+)<br>
>><br>
>> diff --git a/src/libvlc.c b/src/libvlc.c<br>
>> index 34824da..7e7b097 100644<br>
>> --- a/src/libvlc.c<br>
>> +++ b/src/libvlc.c<br>
>> @@ -553,7 +553,19 @@ void libvlc_InternalDestroy( libvlc_int_t *p_libvlc )<br>
>><br>
>>      vlc_ExitDestroy( &priv->exit );<br>
>><br>
>> +#ifndef NDEBUG<br>
>> +    vlc_object_internals_t *internals = vlc_internals(p_libvlc);<br>
>> +    int refcount = atomic_load(&internals->refs);<br>
>> +    if (refcount > 1) {<br>
>> +        while (internals) {<br>
>> +            vlc_Log(NULL, VLC_MSG_DBG, "libvlc", NULL, 0,<br>
>> "libvlc_InternalDestroy", "remaining ref %s count:%d",<br>
>> internals->psz_name ? internals->psz_name : "???", internals->refs);<br>
>> +            internals = internals->first;<br>
>> +        }<br>
>> +    }<br>
>> +    assert( refcount == 1 );<br>
>> +#else<br>
>>      assert( atomic_load(&(vlc_internals(p_libvlc)->refs)) == 1 );<br>
>> +#endif<br>
><br>
><br>
> You know you can put a breakpoint and debug the memory content manually. In<br>
> general, we can't even assume that vlc logs will be flushed before the<br>
> assertion failure.<br>
<br>
</div></div>That's advanced trickery to be able to get the debugger to access<br>
structures like this:<br>
# define vlc_internals( obj ) (((vlc_object_internals_t*)(VLC_OBJECT(obj)))-1)<br>
<div class="HOEnZb"><div class="h5"><br>
>>      vlc_object_release( p_libvlc );<br>
>>  }<br>
><br>
><br>
> --<br>
> Rémi Denis-Courmont<br>
> <a href="http://www.remlab.net/" rel="noreferrer" target="_blank">http://www.remlab.net/</a><br>
> _______________________________________________<br>
> vlc-devel mailing list<br>
> To unsubscribe or modify your subscription options:<br>
> <a href="https://mailman.videolan.org/listinfo/vlc-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/vlc-devel</a><br>
_______________________________________________<br>
vlc-devel mailing list<br>
To unsubscribe or modify your subscription options:<br>
<a href="https://mailman.videolan.org/listinfo/vlc-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/vlc-devel</a></div></div></blockquote><div><br></div><div>Hi,<br><br></div><div>Actually, I tried already multiple times to get that information via a debugger and failed always (probably because of compiler optimizations). So some more debug output would be certainly useful.<br><br></div><div>BR. David <br></div></div><br></div></div>