有时我们会在程序中检测:SIGSEGV信号,收到信号后,打印出当前的堆栈信息,进而方便我们定位出错的地方。
方法如下:
近期在线上环境中出现coredump后,打印如下的堆栈信息:
/var/ytt/mod_se/lib/libqsrch.so(_ZN14ImplSrchWorker8OnSignalEi+0x6a) [0x2aabd5e80aca]
03-29 09:36:15 ERROR [10277,11336,if_worker.cpp,268] /lib64/libc.so.6 [0x30f04302d0]
03-29 09:36:15 ERROR [10277,11336,if_worker.cpp,268] /var/ytt/mod_se/lib/libqsum.so(_ZN8Searcher6SearchEP11QsumContext+0x16e) [0x2aaaab6402fe]
03-29 09:36:15 ERROR [10277,11336,if_worker.cpp,268] /var/ytt/mod_se/module/libmod_se.so(_ZN15SumSearcherImpl6SearchEP11QsumContext+0x3f) [0x2b99c197796f]
那怎样解析上面的信息呢?其中的:_ZN8Searcher6SearchEP11QsumContext+0x16e表示是的什么含义呢?
_ZN8Searcher6SearchEP11QsumContext是c++中的name mangle机制的表示形式(可用c+