不使用 IE 进行调试时,将空引用指针传递给存根

Posted

技术标签:

【中文标题】不使用 IE 进行调试时,将空引用指针传递给存根【英文标题】:Null reference pointer was passed to the stub when not debugging with IE 【发布时间】:2013-10-26 16:07:55 【问题描述】:

在 VS2012 中,我的 Web 项目调试正常。我使用 IIS Express。今天,我安装了VS 2013,当我按F5调试时,我得到了

我在任何地方都找不到解决方案。我尝试清除临时文件,将端口号从 7227 更改为其他内容,删除 iis express 配置文件等。我什至卸载并重新安装了 VS 2013。

我可以在不调试的情况下运行,然后附加到 IISExpress 并且可以正常工作,但我不能从 F5 开始。有什么线索吗?

编辑:在全新安装 Windows 8.1 和 VS 2013 时也发生在另一台机器上

编辑:解决方案:我将 Silverlight 作为调试器进行了检查。我取消选中 Silverlight,我能够使用 F5 使用 Chrome 或 Firefox 进行调试。显然有些地方不对劲,但无论如何我都不需要 Silverlight 调试。

【问题讨论】:

【参考方案1】:

看似相关的问题(不是答案)的不受欢迎的解决方法:

我在 VS2013(速成版,C#)中创建了一个新的 Silverlight 项目,并在尝试以调试模式运行应用程序(按 F5)时遇到了几乎相同的错误。错误消息还以“已将空引用指针传递给存根”结尾。

我将我的默认浏览器设置为 IE10,现在 VS 2013(速成版)中 C# 中 Silverlight 应用程序的调试模式工作正常。

【讨论】:

您不一定必须将 IE 作为默认设置;您可以在调试工具栏中更改用于调试的浏览器。 不幸的是,您必须将 IE 作为 Silverlight 调试的默认设置。自 VS 2013 RTM 起,它不适用于任何其他浏览器。 在我的 VS2013 中,使用调试工具栏更改为 IE 对我有用。版本 12.0.21005.1 REL.【参考方案2】:

我遇到了这个问题,这是由于 IE 不是默认浏览器造成的。您可以按照此答案进行更正

Visual Studio opens the default browser instead of Internet Explorer

【讨论】:

哇,浪费了好几个小时,只需将默认设置为 IE,它就修复了它。但是,我不想使用 IE。这显然是一个 Visual Studio 错误。感谢您的回答。【参考方案3】:

@ScottG 在他的编辑中给出了答案,但这里有一个更清晰的解释:

打开您的 Web 项目属性设置,单击 Web 选项卡,然后在“调试器”下,取消单击“Silverlight”。显然,如果您需要调试 silverlight,则必须找到另一个解决方案,直到 VStudio 团队修复此错误。

【讨论】:

【参考方案4】:

我刚刚遇到了相反的问题,上一篇文章为我解决了这个问题!

我已将 Silverlight 项目从 VS2010 升级到 VS2013(我可以确认,如果您使用了域服务,您就有麻烦了;尽管 Microsoft 说,该项目不会在 2013 下编译并给出错误对于每个 edmx 数据类型、存储过程等!)。

当我经过一天的努力最终编译它时(不,它不向后兼容,这是一个单向升级),它运行了,但行为略有不同。所以我设置了一些断点,它开始完全忽略。

需要检查 Silverlight 调试器,但没有。我以为它是 vbproj 文件的一部分? IE 设置没有问题。

阿德

【讨论】:

以上是关于不使用 IE 进行调试时,将空引用指针传递给存根的主要内容,如果未能解决你的问题,请参考以下文章

小白学习C++ 教程八在C++指针传递引用和Const关键字

C ++将向量传递给函数:引用与指针,哪个是首选? [复制]

将空列表传递给函数以收集结果

Golang - 指针与引用

引用用于函数参数,返回值,及指向指针的引用

将空值传递给 SVG 路径(使用 d3.js)以抑制丢失数据