【问题标题】:If the call stack gets corrupted, would that crash only the current thread, or my entire application?如果调用堆栈被破坏,那只会崩溃当前线程,还是我的整个应用程序?
【发布时间】:2011-01-22 04:02:46
【问题描述】:

对于 C# 中的线程,我是个菜鸟,我不确定每个线程是否应该有自己的调用堆栈?基本上,如果我得到“运行时检查失败 #0 - ESP 的值不正确”,那只会崩溃发生它的线程还是整个程序?

【问题讨论】:

  • 您只会在调试版本中收到此错误。这是您的代码中的一个错误,由 C/C++ 运行时检测到。

标签: c# assembly multithreading callstack


【解决方案1】:

每个线程都有自己的调用堆栈,因此损坏只会直接影响单个线程。

但正如 John 所指出的,这可能足以停止程序。

【讨论】:

    【解决方案2】:

    每个线程都有自己的堆栈,因此堆栈损坏只会直接影响单个线程。但是默认的线程异常处理程序会关闭应用程序。

    【讨论】:

    • 呸,这让我松了一口气:) 有那么一刻我以为我无法处理崩溃的线程:)
    猜你喜欢
    • 2021-01-02
    • 2012-03-05
    • 2017-09-04
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 2021-12-08
    • 2012-08-06
    相关资源
    最近更新 更多