我知道 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 函数的默认设置。除非另有说明,否则它们是线程安全的。
关于c++ - CaptureStackBackTrace 是单线程的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17887795/