用于高频调用堆栈生成的_Unwind _Find _FDE替代方案 我必须调试Linux上的多线程C++应用程序,它生成用于跟踪目的的高频率的调用堆栈,并且速度非常慢。大部分计算工作似乎是_Unwind _Find _FDE函数,它在每次调用时解析符号,并每次锁定全局互斥,从而导致锁争用和futex系统调用增加 你知道一个基于C++的回溯函数,它至少决定虚拟地址的共享对象,没有这些问题吗?否则,我的第一个猜测是使用标准的backtrace函数(这个函数应该是无锁的,对吧?),并以一种不使用dl_iterate_phdr的方式跟踪虚拟内存映射
顺便说一句,在现代实现中,当虚拟内存布局不变时,_Unwind_Find_FDE函数是否应该锁定互斥锁 你能给我一个功能或一般方法的建议吗 问候用于高频调用堆栈生成的_Unwind _Find _FDE替代方案 我必须调试Linux上的多线程C++应用程序,它生成用于跟踪目的的高频率的调用堆栈,并且速度非常慢。大部分计算工作似乎是_Unwind _Find _FDE函数,它在每次调用时解析符号,并每次锁定全局互斥,从而导致锁争用和futex系统调用增加 你知道一个基于C++的回溯函数,它至少决定虚拟地址的共享对象,没有这些问题吗?否则,我的第一个猜测是使用标准的backtrace函数(这个函数应该是无锁的,对吧?),并以一种不使用dl_iterate_phdr的方式跟踪虚拟内存映射,c++,linux,C++,Linux,顺便说一句,在现代实现中,当虚拟内存布局不变时,_Unwind_Find_FDE函数是否应该锁定互斥锁 你能给我一个功能或一般方法的建议吗 问候