有什么资格作为"异步"窗户上的信号?

时间:2015-04-08 19:21:42

标签: windows exception asynchronous signals seh

我正在阅读针对pintool邮件列表here中的问题的回复。它提到异步信号的传递被延迟到pintool中的分析例程结束。我很好奇Windows中的异常有资格作为异步信号。

1 个答案:

答案 0 :(得分:4)

基本上没什么。但那是因为你有错误单词的引号。 Windows没有"信号"。

让我澄清一下。您指的是Linux,它与UNIX具有signal机制。这是一个真正的操作系统级功能。奇怪的是,这个操作系统功能使它成为C语言(不像目录那样有用的东西)。 Windows不提供UNIX信号,因此Windows的C编译器必须伪造它们。

Windows所具有的是例外,特别是结构化异常。处理方式完全不同。例如,它们通常由基于堆栈的异常处理程序处理 - 这对于异步信号"甚至没有意义。在Linux上,信号处理程序往往保持不变,在Windows上,异常处理程序可能会在每次函数调用时发生变化。延迟异常可能会将其传递给完全错误的处理程序。