![]() |
1
1
我假设您认为这个线程的完整堆栈跟踪应该有9个以上的条目。您没有提到是32位操作系统还是64位操作系统,但是我假设32位操作系统,然后考虑一下64位操作系统。 有时,在32位系统上收集堆栈跟踪时,您不能为堆栈跟踪收集任何项,或者您只能收集有限数量的堆栈帧信息,即使您知道调用堆栈更深。原因如下:
由于32位Windows(来自Microsoft和其他供应商)上的调用约定多种多样,因此很难计算出从一个帧移动到另一个帧时的期望值。 对于64位系统,指定了一个调用约定。这让生活变得容易多了。也就是说,您仍然存在帮助程序DLL和钩子对堆栈执行自己的操作的问题,这可能仍然会导致您在遍历堆栈时出现问题。 我怀疑Process Explorer中存在限制。我认为问题在于,为该线程遍历调用堆栈是有问题的,因为我上面列出的其中一个原因。 |