我知道 StackWalk64 与所有 dbghelp 函数一样是单线程的,正如 MSDN 文档中明确指出的那样。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms680650(v=vs.85).aspx
“所有 DbgHelp 函数(例如这个函数)都是单线程的。因此,从多个线程调用此函数可能会导致意外行为或内存损坏。为避免这种情况,您必须同步来自多个线程的所有并发调用线程到这个函数。”
CaptureStackBackTrace 的 MSDN 文档,http://msdn.microsoft.com/en-us/library/windows/desktop/bb204633(v=vs.85).aspx 没有说明 CaptureStackBackTrace 是否是单线程的.
由于没有另外提及,您可以放心地假设
CaptureStackBackTrace
是线程安全的。这是 Windows API 函数的默认设置。除非另有说明,否则它们是线程安全的。