gpt4 book ai didi

asp.net - Intellitrace 调试不可用,因为另一个应用程序正在分析

转载 作者:行者123 更新时间:2023-12-02 18:39:59 27 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 站点,正在 Visual Studio 2013 中的本地 IIS 上进行调试。在构建过程中,我经常会弹出一个对话框,如下所示:

Intellitrace is not available because another application is profiling on the Web server

Intellitrace is not available because another application is profiling on the Web server

如果我选择“否”,则构建将中止;如果我选择"is",则无法在断点上使用 Intellisense。这是什么原因造成的?

关闭 Visual Studio 的所有实例、停止应用程序池和 Web 服务器,然后再次重新启动它们并不能解决此问题。重新启动也不会。

如果我观看任务管理器的详细信息面板,我只能看到 w3wp.exe 的一个实例,该实例在我停止应用程序池后消失,因此我假设任何与分析 Hook 的内容都不是通过工作进程执行的,在我看来,VS 如何附加自身进行调试。

网络服务器上没有其他应用程序,并且我在这台计算机上没有运行自定义 WMI。如果我在 VS 中查看性能资源管理器面板,它是空的,如果我选择附加/分离操作,然后在结果窗口“将分析器附加到进程”中,如果我按附加列排序,我可以看到没有任何东西附加到任何东西。

我应该在哪里寻找这个问题的根源?

最佳答案

所以问题是分配给网站的应用程序池与网站同名。即网站名称 contoso 和名为 contoso 的应用程序池。

我不确定为什么这是一个问题,也不知道哪里出了问题,但我承认这是糟糕的(仓促的)命名实践。

您可以拥有一个包含网站名称的应用程序池,即 contosoAnythingElseHere 并且 IntelliTrace 可以工作,但如果两个字符串完全相同,您最终将获得我的问题或变体中描述的 IntelliTrace 锁定关于另一个应用程序已经“录制”的错误消息。

除了我公认的糟糕的命名实践之外,我愿意打赌这是 IntelliTrace 中由于缺乏强类型而产生的错误。

我的理论是,在此过程中,某种过滤器仅使用 AppPool 名称作为类型字符串,而不是查找 name = contoso 的 AppPool 类型。

由于站点和 AppPool 具有相同的名称,因此某些地方可能会对某种锁定感到困惑。然而,如果它们输入正确,那么它们是否具有相同的名称也没有关系。

如果有人有更好的想法或可以纠正我,我会洗耳恭听,但如上所述,正确的命名实践消除了任何进一步讨论的需要。

关于asp.net - Intellitrace 调试不可用,因为另一个应用程序正在分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29698669/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com