c++ - CaptureStackBackTrace 是单线程的吗?

标签 c++ winapi stack-trace callstack backtrace

我知道 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/

相关文章:

Java堆栈跟踪分析,媒体中的错误 header ?

gcc - 如何使用 gcc 编译代码和 ARM Cortex A8 目标进行调用图分析?

c++ - vector 大小在 for 循环中填充后返回 0

c++ - 带有 char、double、int 和 t 的结构的大小

c - 用 C 和 Win32 API 编程 : Comparing Strings

c++ - Win32 逻辑 block 预处理器显示不活动

c++ - 二维字符数组到 CUDA 内核

c++ - QT C++ : Moving several labels at the same time

c# - 以编程方式列出 Windows 10 中所有受支持的语言环境

java - 如何找出 Java 程序在启动时使用了哪些库?