标签: diagnostics

VS2015 Profiler中的外部代码

VS2015包含一些用于诊断WPF应用程序性能的新工具.我的解决方案包含多个项目(例如View和ViewModel项目).当我在诊断模式下启动View项目并测量CPU使用率时,VM项目正在使用相当大一部分,在结果中显示为"外部代码".在诊断时,如何告诉诊断工具包括我的解决方案的所有项目.

编辑

(注意跳过评论的人)

我知道"过滤视图"下拉列表中提供的"外部代码"复选框.该选项的问题在于,如果我打开它,它也开始在调用堆栈中显示较低级别的Framework函数(如nt.dll,presentationcore.dll等),这意味着我的VM的一个函数可能会被埋没调用层次结构深入20级.我需要一种方法来要求它过滤任何框架级函数,只显示当前解决方案中的代码.

wpf diagnostics visual-studio-2015

23
推荐指数
1
解决办法
4902
查看次数

运行多个visual studio实例时,VS 2015诊断工具意外失败

VS 2015

我之前检查了这些问题: 1 2

调试两个或多个解决方案时,只有第一个解决方案将运行诊断工具.其他人会抛出: 在此输入图像描述

有没有办法在调试的每个Visual Studio实例中运行诊断工具?

diagnostics visual-studio-2015

22
推荐指数
2
解决办法
6366
查看次数

ASP.NET MVC为什么我的应用程序会继续重启?

我有一个ASP.NET MVC网站,每天在Server Intellect的共享主机平台上获得大约6500次点击.我一直在日志中看到app重启,我无法弄清楚原因.

我在这里阅读了Scott Gu的文章:http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx 并实现了这项技术,以下是我日志中显示的内容:

Application Shutdown: 
_shutDownMessage=HostingEnvironment initiated shutdown 
HostingEnvironment caused shutdown    
_shutDownStack=at
System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)     at 
System.Environment.get_StackTrace()     at 
System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal()     at 
System.Web.Hosting.HostingEnvironment.InitiateShutdown()     at 
System.Web.Hosting.PipelineRuntime.StopProcessing()
Run Code Online (Sandbox Code Playgroud)

它似乎每五分钟发生一次.

有没有其他方法来调试这个?

更新:以下是Softion提到的应用程序池设置:

中央处理器

  • 限制:0
  • 限制行动:不采取行动
  • 限制间隔:5分钟

过程模型

  • 空闲超时:20分钟
  • Ping最长响应时间:90秒
  • 启动时间限制:90秒

快速失败保护

  • 启用:True
  • 故障间隔:5分钟

回收

  • 专用内存限制:100 MB
  • 常规时间间隔:1740分钟(29小时)
  • 请求限制:0
  • 具体时间:没有
  • 虚拟内存限制:0

asp.net asp.net-mvc diagnostics restart

21
推荐指数
1
解决办法
9380
查看次数

如何使用#pragma clang diagnostics

我知道#pragma clang diagnostics可以用来忽略clang生成的一些警告.但我不知道如何正确使用它.

例如,对于未使用的变量警告,我们可以避免警告

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"

int number;

#pragma clang diagnostic pop
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何为#pragma clang诊断忽略得到正确的参数(这里是"-Wunused-variable")

有没有办法用xcode为特定警告提供这种警告名称?

xcode diagnostics pragma clang

20
推荐指数
2
解决办法
2万
查看次数

VS2022:调试期间不再出现“诊断工具”窗口,无法将其恢复

我一定有笨手笨脚的东西才能将其关闭,但是当我尝试在调试模式下运行任何 C# 项目(.net 6 windows wpf,甚至只是命令行应用程序)时,我不再看到该窗口Diagnostic Tools。这是显示内存消耗和其他内容的实时图表的东西。

我一直在尝试重新启用Diagnostic Tools,但到目前为止还无法做到。我可以在调试模式下运行,其他一切看起来都正常,我可以添加断点等。可能出了什么问题?

这实在是太令人费解了!

查看文档(调试时测量性能),它说......

除非您将其关闭,否则诊断工具窗口会自动出现。要打开该窗口,请单击“调试”/“Windows”/“显示诊断工具”(或按 Ctrl + Alt + F2)。

这是我尝试过的:

  • ctrl + alt + f2 什么也没做。

  • 在 Visual Studio 中转到菜单栏:Debug/Windows,没有“显示诊断工具”项目。

显示诊断工具——不存在!

  • 当我在 Visual Studio 搜索栏中搜索时Diagnostic Tools,它为我提供了“调试”>“常规”的链接,但选项对话框中没有“调试时启用诊断工具”复选框。

VS 搜索“诊断工具” 没有“调试时启用诊断工具”选项

  • 当然,我也尝试过关闭/重新打开VS。此外,还从 VS 安装程序执行了更新并进行了“修复”。还是同样的行为。

  • 我还尝试按照此 msdn 论坛帖子的指示“重置 Windows 布局”和“重置所有设置” 。还是卡住了。

  • 根据Mohsyn的建议,查看了工具>>选项>>调试。似乎没有检查与“托管或本机兼容模式”相关的任何内容。

工具>>选项>>调试

  • 蓝壳的回答已经解决了!这是启动 Visual Studio 安装程序,单击“修改”安装,转到“单个组件”并检查“.NET 分析工具”的问题

解决方案

下一步是卸载 VS 2022 并重新安装。

diagnostics visual-studio-debugging visual-studio-2022

20
推荐指数
1
解决办法
2万
查看次数

Visual Studio 2015诊断工具不再有效

我在Windows 7 SP1 64位上运行Visual Studio 2015 Community Edition Update 3,我用它来开发C#应用程序.

我喜欢在调试过程中使用诊断工具来尽早发现性能问题.但是,在过去一个月左右的时间里,他们停止了为我工作(可能与安装Update 3有关,尽管我没有任何信息可以支持).我看到错误消息"在此版本的Windows上调试时无法进行CPU分析.要查看CPU使用情况详细信息,请运行不使用调试器的CPU使用率工具(Debug - > Performance Profiler ...)."

我尝试过没有成功的事情:

  • 完全卸载并重新安装VS.

  • 在我的VS安装上执行修复

  • 确保在调试选项中禁用"使用{Managed,Native}兼容模式".

  • 按照此问题中的说明启用诊断中心日志记录信息.我可以看到的错误消息不会出现在日志中.

即使我创建一个新的WPF项目,这仍然会发生,所以我不相信它有任何项目特定的原因.

还有其他我可以试试的东西吗?显然他们之前都在工作,所以我不相信有关我的Windows版本的错误消息不受支持.

c# wpf diagnostics visual-studio-2015

18
推荐指数
2
解决办法
2万
查看次数

诊断.NET遗留问题

假设您正在接管传统的.NET应用程序.用C#编写

您将用于评估应用程序健康状况的前五种诊断措施,概况分析或其他方面是什么?

我不仅仅关注诊断的"什么"部分,还关注"如何".例如,确实需要评估应用程序的快速/最佳响应时间....但有没有办法通过代码库的技术诊断来建立/衡量它,而不仅仅是获得用户体验反馈?

alt text http://chhs.gmu.edu/images_files/office_of_academic_outreach/images/s07-assessment-image.jpg

是的,你必须使用一些很棒的工具......如果你也列出它们会很棒.

.net c# profiling diagnostics legacy-app

15
推荐指数
1
解决办法
471
查看次数

进程内存大小 - 不同的计数器

我试图找出我自己的.Net服务器进程正在使用多少内存(用于监视和记录目的).

我正在使用:

Process.GetCurrentProcess().PrivateMemorySize64
Run Code Online (Sandbox Code Playgroud)

但是,Process对象有几个不同的属性,让我可以读取使用的内存空间:Paged,NonPaged,PagedSystem,NonPagedSystem,Private,Virtual,WorkingSet

然后是"峰值":我猜测它只存储了最后一次所用的最大值.

阅读每个属性的MSDN定义对我来说并没有太大帮助.我不得不承认我对内存管理方式的了解(就分页和虚拟内容而言)非常有限.

所以我的问题显然是"我应该使用哪一个?",我知道答案是"它取决于".

这个过程基本上会在内存中保存一堆列表,而其他进程与它进行通信并查询它.我期望运行它的服务器需要大量的RAM,因此我会随着时间的推移查询这些数据,以便能够估计RAM要求与其保留的列表大小相比较.

那么......我应该使用哪一个?为什么?

.net c# memory diagnostics process

14
推荐指数
3
解决办法
1万
查看次数

重写System.Diagnostics.Trace.WriteLine以记录到文件

这可能更像是一个OOP概念问题,但这就是我想要做的.

我有一个应用程序,使用System.Diagnostics.Trace.WriteLine输出调试信息,以便可以使用DebugView查看它.

我想重写/扩展(不知道正确的术语)这个方法来记录文本文件代替,也许除了跟踪输出.这将允许我为我的应用程序编写一个新的WriteLine方法,并且我可以在应用程序的其余部分保持所有其他System.Diagnostics.Trace.WriteLine语句不变.

那么我将如何在VB.Net应用程序中更改此方法的行为?

vb.net oop logging trace diagnostics

12
推荐指数
1
解决办法
2万
查看次数

如何获取System.Web.Http.Tracing.dll?

我在这里阅读了有关自己的TraceWriter实现的Web API,例如此处,以及其他来源.

我现在使用VS2013与.NET 4.5.1并且无法找到EnableSystemDiagnosticsTracing.它的意思是在HttpConfigurationTracingExtensions类中定义,该类驻留在System.Web.Http.Tracing.dll中.但是,无法找到此程序集 - 不在"添加引用"对话框中的程序集列表中,而不是在GAC中.

这个集会应该来自哪里?Docs说这是我安装的.NET Framework 4的一部分.还安装了ASP.NET Web API 2跟踪5.0.0 NuGet包.有更新吗?我应该重新安装.NET Framework吗?

我知道自己实现ITraceWriter并不是什么大问题,但是我不知道内置实现发生了什么.

asp.net diagnostics asp.net-web-api

12
推荐指数
2
解决办法
5946
查看次数