代码之家  ›  专栏  ›  技术社区  ›  rplusg

NTDLL!kifastsystemcallret

  •  3
  • rplusg  · 技术社区  · 16 年前

    我的程序在执行结束时崩溃,甚至看不到堆栈释放信息。 我只能看到这个“ntdll!kifastsystemcallret“,有人能发光吗?

    5 回复  |  直到 14 年前
        1
  •  3
  •   Ana Betts    16 年前

    kifastsystemcallret意味着线程处于syscall中—x86 NT syscall调度的一个不幸方面是它不会将上下文返回到原始位置,而是必须返回到ntdll中的静态位置,该位置将修复上下文并将您放回原来的位置。粘贴到堆栈中,我们可以为您提供更多提示…

        2
  •  3
  •   the_mandrill    14 年前

    在所有正在等待的线程上,您都会经常看到这一点——希望其中一个线程应该有一些更有用的堆栈,其余的线程可能会显示这一点。尝试安装 Debugging Tools for Windows 运行程序 windbg . 当碰撞发生时,键入 !analyze -v 对可能的车祸原因进行事后分析。

        3
  •  0
  •   aJ.    16 年前

    您可以尝试通过附加 windbg 并提供操作系统符号的参考。可能会提供一些线索。

        4
  •  0
  •   ckv    16 年前

    您能为调用堆栈提供更多的信息吗,比如在这个特定崩溃发生之前正在执行什么操作。我以前遇到过这样的车祸。

    这很可能也是第一次机会例外。你确定是撞车吗?

        5
  •  -2
  •   fabmilo    16 年前

    kifastsystemcallret~内核快速系统调用返回,还是从内核函数紧急退出?某些内核调用失败…