Hier ist der Valgring Bericht:Wie findet man einen freien/löschenden Unterschied, der von Valgrind in einem Multithread-Programm gemeldet wird?
==14546== Thread 5:
==14546== Invalid free()/delete/delete[]
==14546== at 0x490555D: free (vg_replace_malloc.c:235)
==14546== by 0x3BF7EFAA8F: free_mem (in /lib64/tls/libc-2.3.4.so)
==14546== by 0x3BF7EFA581: __libc_freeres (in /lib64/tls/libc-2.3.4.so)
==14546== by 0x4802676: _vgw_freeres (vg_preloaded.c:62)
==14546== Address 0x4DC4EE0 is not stack'd, malloc'd or (recently) free'd
Wie kann ich wissen, welcher Thread ist es, als die Thread-Nummer von einer Ausführung zur anderen variiert? Wird assigning names to my threads hier helfen?
BEARBEITEN: Ich glaube nicht, dass es so ist, wie dies im DRD-Abschnitt des Handbuchs erwähnt wird.
Ich benutze Valgrind-3.1.1 auf Red Hat Enterprise Linux AS4.
Danke, ich habe bereits ein Bild von meinem Prozess erstellt und gdb ''info address' und jetzt auch' info symbol' aufgerufen, bisher aber kein Glück. – philant