I'm trying to track down what's causing a segfault when I run my unittests.
When I run it through gdb, the program completes the block of tests in question, then throws a SIGABORT with the message "corrupted double-linked list." From the backtrace, I determined that the problem was occurring in the destructor of a global ProtocolType object.
So I run the program through valgrind, and two things happen: one, I get an enormous number of errors; far too many to pick through manually. Second, it gives me a different termination message. Valgrind craps out in only the second test case, with the output "pure virtual method called."
I'm fairly certain this has a different cause than my first error, since the ProtocolType class doesn't use any virtual methods, and is not a parent or child of any other class.
Is there a way to suppress the "pure virtual method called" exception, so that valgrind can reach the point where my bug occurs? Or can I generate a backtrace from valgrind's exception so I can resolve that?