Я пытаюсь отследить утечку памяти в программе на c ++ с использованием valgrind.Программа скомпилирована с g ++ и может быть запущена без каких-либо ошибок.К сожалению, valgrind изменяет поведение моей программы так, что происходит сбой после выдачи ошибки времени выполнения.Поскольку этот сбой происходит до того, как он достигает соответствующих частей кода, у меня нет шансов отследить утечку памяти.
Вся проблема проиллюстрирована подключенным выходом консоли.
myUser@computer:~$ ./myProgram input.xml
Processing...
Finished successfully...
----------------------
Hit Enter to continue...
myUser@computer:~$ valgrind --leak-check=yes --log-file=valgrindLog ./myProgram input.xml
Processing...
myProgram-error: Not working Polymorphism. Base class method called instead of derived class method. End-of-myProgram-error.
terminate called after throwing an instance of 'char const*'
Aborted
myUser@computer:~$ g++ -dumpversion
4.4.5
myUser@computer:~$ valgrind --version
valgrind-3.6.0.SVN-Debian
myUser@computer:~$ uname -r
2.6.35-30-generic
myUser@computer:~$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"