Questions tagged «system.diagnostics»

19
如何找到调用当前方法的方法?
登录C#时,如何得知调用当前方法的方法的名称?我了解的全部System.Reflection.MethodBase.GetCurrentMethod(),但是我想在堆栈跟踪中比这低一级。我已经考虑过解析堆栈跟踪,但是我希望找到一种更清晰的方法,类似于Assembly.GetCallingAssembly()方法。

7
可以在生产代码中使用秒表吗?
我需要一个准确的计时器,而DateTime.Now似乎不够准确。根据我阅读的说明,System.Diagnostics.Stopwatch似乎正是我想要的。 但是我有恐惧症。我担心在实际生产代码中使用System.Diagnostics中的任何内容。(我将它广泛用于与Asserts和PrintLns等一起进行调试,但从未用于生产方面。)我不仅在尝试使用计时器来对我的函数进行基准测试-我的应用程序需要一个实际的计时器。我在另一个论坛上读到System.Diagnostics.StopWatch仅用于基准测试,尽管没有给出理由,但不应在零售代码中使用。这是正确的,还是我(以及发布此建议的人)对System.Diagnostics过于封闭?即,可以在生产代码中使用System.Diagnostics.Stopwatch吗?谢谢阿德里安

6
生产代码中的System.Diagnostics.Debug.WriteLine
我可能应该已经知道这一点,但是我不确定,也没有记录在案。 我在开发过程中经常使用System.Diagnostics.Debug.WriteLine,以便在调试代码时能够跟踪对变量或异常的更改。这是为了使开发和仅在开发期间才了解发生的事情。通常我去生产时注释掉代码或将其删除。 我想知道如果忘记注释代码会发生什么。举例来说,在开发周期中,我正在跟踪错误信息,这些错误信息可能会使用Debug.Write Line将连接字符串记录到输出窗口。开发时显然可以,但是我想知道当我上线时是否有风险。有人可以将调试器附加到我的实时可执行文件中并捕获此输出吗?还是仅在Visual Studio中产生输出的东西? 当我们从调试切换到发布时又如何呢?如果我们为发行而编译,此代码是否会被编译器忽略?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.