Я пытаюсь отследить утечку памяти в программе на 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"
Подробнее здесь: https://stackoverflow.com/questions/921 ... -behaviour