Debug output

2007-01-19 Thread Christian Christmann
Hi, in the previous days I've seen a posting where someone compiled his code with c++ -O2 -Wall -fconserve-space -ggdb foo.cc The code looked like this: ... cout << "Starting" << endl; ... for (sptr = l, pch = l; (strchr(pch, ';') ? pch = strchr(pch, ';') : pch = strchr(pc

recode "typeinfo::name()" into usable format

2007-01-19 Thread Grizlyk
Hello. If I print name of class at runtime, I can use "typeinfo::name()" like this: printf( "%s\n", typeid(*this).name() ); And for class named "Tclass" I will get a unreadable g++ specific formatted sring looks like "[EMAIL PROTECTED]@#$" Also it is well known, that std::unexpected() can

Re: Debug output

2007-01-19 Thread Paul Pluzhnikov
Christian Christmann <[EMAIL PROTECTED]> writes: > in the previous days I've seen a posting where someone compiled > his code with ... > When I compile my code with the same options and execute it, > I don't get this detailed output with all the addresses. Any > ideas how to get it? You really o

Re: recode "typeinfo::name()" into usable format

2007-01-19 Thread Paul Pluzhnikov
"Grizlyk" <[EMAIL PROTECTED]> writes: > std::unexpected() can print correct name of > class. What function of g++ does correct name demangling? __gnu_cxx::__verbose_terminate_handler() in gcc-3.4.6/libstdc++-v3/libsupc++/vterminate.cc has this code: 57 type_info *t = __cxa_current_exce

Re: Debug output

2007-01-19 Thread Christian Christmann
On Fri, 19 Jan 2007 09:18:56 -0800, Paul Pluzhnikov wrote: > You really ought to read this: > http://www.catb.org/~esr/faqs/smart-questions.html I don't think so. "Smart" people can answer your question from my first posting. Sorry, if you didn't understand them. > - you didn't post complete c

Re: Debug output

2007-01-19 Thread Paul Pluzhnikov
Christian Christmann <[EMAIL PROTECTED]> writes: > On Fri, 19 Jan 2007 09:18:56 -0800, Paul Pluzhnikov wrote: > >> You really ought to read this: >> http://www.catb.org/~esr/faqs/smart-questions.html > > I don't think so. "Smart" people can answer your question from > my first posting. Sorry, if

Re: recode "typeinfo::name()" into usable format

2007-01-19 Thread Grizlyk
Paul Pluzhnikov wrote: > 66dem = __cxa_demangle(name, 0, 0, &status); Thanks, and what part (file) of "info" or any other describes "cxxabi.h" and // Demangling routines. char* __cxa_demangle(const char* __mangled_name, char* __output_buffer, size_t* __lengt

Re: recode "typeinfo::name()" into usable format

2007-01-19 Thread Paul Pluzhnikov
"Grizlyk" <[EMAIL PROTECTED]> writes: >> 66dem = __cxa_demangle(name, 0, 0, &status); > > Thanks, and what part (file) of "info" or any other describes > "cxxabi.h" and > // Demangling routines. > char* > __cxa_demangle(const char* __mangled_name, char* __output_buffer, >