标签: system.diagnostics

如何找到调用当前方法的方法?

登录C#时,如何学习调用当前方法的方法的名称?我知道所有这些System.Reflection.MethodBase.GetCurrentMethod(),但我想在堆栈跟踪中向下迈出一步.我考虑过解析堆栈跟踪,但我希望找到一种更清晰,更明确的方法,比如Assembly.GetCallingAssembly()方法.

.net c# logging system.diagnostics stack-trace

465
推荐指数
11
解决办法
21万
查看次数

可以在生产代码中使用秒表吗?

我需要一个准确的计时器,而DateTime.Now似乎不够准确.从我读到的描述中,System.Diagnostics.Stopwatch似乎正是我想要的.

但我有恐惧症.我对在实际生产代码中使用System.Diagnostics中的任何内容感到紧张.(我广泛使用Asserts和PrintLns等进行调试,但从未用于生产.)我不仅仅是尝试使用计时器来测试我的功能 - 我的应用程序需要一个实际的计时器.我在另一个论坛上看到System.Diagnostics.StopWatch仅用于基准测试,不应该在零售代码中使用,尽管没有给出理由.这是正确的,还是我(以及任何发布该建议的人)对System.Diagnostics过于封闭?即,在生产代码中使用System.Diagnostics.Stopwatch是否可以?谢谢阿德里安

c# system.diagnostics timer stopwatch

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

生产代码中的System.Diagnostics.Debug.WriteLine

我可能已经知道了这一点,但我不确定,我也没有记录.

我在开发过程中经常使用System.Diagnostics.Debug.WriteLine来跟踪变量或异常的变化,因为我正在调试代码.这意味着只有在开发过程中才能更容易地开发和理解发生的事情.我通常要么注释掉代码,要么在我去制作时将其删除.

我想知道如果我忘记评论代码会发生什么.比如说,在开发周期中,我正在跟踪可能使用Debug.Write Line将连接sting到输出窗口的错误信息.这显然可以在开发时使用,但我想知道当我上线时,如果这里存在风险.有人可以将调试器附加到我的实时可执行文件并捕获此输出吗?或者它只是在Visual Studio中产生输出?

那么当我们从调试切换到发布时呢?如果我们编译发布版本,编译器是否会忽略此代码?

.net debugging system.diagnostics

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

如何以编程方式将程序的CPU使用率限制在70%以下?

最近,我在构建我的程序时变得更加健康,我观察到大多数程序需要2或3分钟才能执行,当我检查任务调度程序时,我发现它们消耗了100%的CPU使用率,可以我在代码中以编程方式限制了这种用法?这肯定会让我在给定的时间运行多个程序.

谢谢,Nidhi

c# performance system.diagnostics cpu-usage

44
推荐指数
5
解决办法
3万
查看次数

我应该何时使用Tracing vs Logger.NET,Enterprise Library,log4net或Ukadc.Diagnostics?

如何在标准跟踪,Logger.NET,企业库,log4net或Ukadc.Diagnostics之间进行选择?

是否存在一个比另一个更合适的情况?那会是什么?(ASP.NET,控制台应用,Azure云,SOHO,企业...)

有什么好处或缺点?

我是否错过了其他主要的日志记录框架?

.net log4net enterprise-library system.diagnostics nlog

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

ElapsedTicks,ElapsedMilliseconds,Elapsed.Milliseconds和Elapsed.TotalMilliseconds之间的区别?(C#)

我在这些之间完全感到困惑4.ElapsedMilliseconds(long),ElapsedTicks(long),Elapsed.TotalMilliseconds(double)和Elapsed.Milliseconds(int)之间有什么区别?

我有一个功能

    {
        Stopwatch sw = new Stopwatch();

        sw.Start();
        MyTimeConsumingAction();
        sw.Stop();

        sw.//what?
    }
Run Code Online (Sandbox Code Playgroud)

如何从秒表对象的已用属性(以毫秒为单位)获取长时间运行的进程所消耗的正确时间?

编辑:我试过msdn文档,但它没有详细说明..

c# performance system.diagnostics stopwatch .net-4.0

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

如何获取System.Diagnostics.Process的输出?

我像这样运行ffmpeg:

System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo = new System.Diagnostics.ProcessStartInfo(ffmpegPath, myParams);
p.Start();
p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

...但问题是带有ffmpeg的控制台会立即弹出并消失,所以我无法获得任何反馈.我甚至不知道该过程是否正确运行.

那么我怎么能:

  • 告诉控制台保持打开状态

  • 在C#中检索控制台显示的内容

c# windows asp.net system.diagnostics

34
推荐指数
3
解决办法
4万
查看次数

使用Trace和TraceSource之间的区别

谁知道System.Diagnostic.TraceSystem.Diagnostic.TraceSource班级之间的区别?

我一直在使用Trace来完成我的大部分项目,而且我刚刚发现了TraceSource前几天.他们似乎提供类似的API,是一个比另一个更好?

.net logging system.diagnostics tracesource

32
推荐指数
2
解决办法
8910
查看次数

如何将MS Windows操作系统版本号转换为.NET中的产品名称?

如何将MS Windows操作系统版本号转换为产品名称?

例如,在.NET中,可以使用以下两个属性来确定该产品是MS Windows Vista Ultimate Edition:

Environment.OSVersion.Platform returns Win32NT

Environment.OSVersion.Version returns 6.0.6001.65536

.net windows diagnostics system.diagnostics version

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