【问题标题】:JetBrain Rider: viewing List<> during debuggingJetBrain Rider:在调试期间查看 List<>
【发布时间】:2018-09-03 11:16:57
【问题描述】:

我试图在调试期间查看 List 的内容。不幸的是,我看不到它们,因为我在变量窗口中收到以下消息:

corvalue.GetExactTypeSafe(输出类型)。对象在一个 僵尸状态。 (HRESULT 例外:0x8013134F)。错误代码是 CORDBG_E_OBJECT_NEUTERED,或 0x8013134F。

有人知道这意味着什么以及如何查看列表?这不是编译错误,因为我可以正常运行代码。

【问题讨论】:

标签: c# debugging rider


【解决方案1】:

听起来您正在使用多线程。让我们从zombie state 开始。
zombie state 是先前(由另一个线程)启动的线程最终完成工作的时间。此外,该线程没有将控制权返回给调用线程。因此,这个线程目前没有做任何事情,尽管它没有被终止。这是名称的来源,线程没有活着也没有死。有关更多信息,您可以查看此post
您只需通过重新启动程序或终止父线程\进程来释放所有分配的资源。
如果您在“有趣的代码”中一直遇到问题,您还可以尝试在没有多线程的情况下运行程序,以确保您不会在此过程中遇到任何僵尸。 (:

【讨论】:

  • 您好,谢谢您的回复。如何运行不使用多线程的程序?这个骑士是特定的吗?因为在 VS 中我可以毫无问题地查看集合...问候
  • 我的意思是您可以将感兴趣的区域临时转换为单线程代码。如果只是为了调试。
  • 我不认为这篇文章回答了最初的问题。我将赏金放在了在 RIder 的调试器中查看变量的解决方案上。 VS 显示它们的价值没有问题。这个答案只是对僵尸状态的解释(不是问题)以及重写代码以不使用多线程的建议(在我的情况下是不可能的,也不是问题的解决方案)。
猜你喜欢
  • 2022-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-08
  • 1970-01-01
相关资源
最近更新 更多