собственно, продолжение
http://www.livejournal.com/users/airmax/60695.html#cutid1( во-первых, никто не отменял чтение документации перед употреблением системных функций: )в-третьих, для нормального употребления, рекомендуется компилировать со следующими ключами:
g++
-g -fPIC -O
-rdynamicи кормить порожденный лог утилитам c++filt или
addr2line.
первая делает demangle имени C++ функции/метода.
вторая берет адрес в бинарнике и пытается получить по нему имя файла и номер строки
( собственно, ловушка на слонопотама теперь выглядит так: )А теперь, внимание, вопрос: кто мне сможет объяснить, почему когда perl gSTLFilt.pl подается на вход строчка
"CDbImpl::SelectMap(char const* (*) [2], ...", выдается "CDbImpl::SelectMap(char const errors.log backtrace.log gSTLFilt.pl ..."
То есть, какое-то нездоровое поведение перла, видимо - первый "*" разворачивает в имена всех файлов в текущем каталоге. Как этого избежать?
Update: все неправы, ха-ха-ха. Точнее, более всего прав Бреслав - двойные кавычки нужно убрать. Только нужно не заменить их все на одинарные - это тут просто не прокатит, а перед `addr2line, и, соответственно, после gSTLFilt.pl ` - убрать \".