问题标签 [trace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1407 浏览

asp.net - VB.NET 跟踪变量

我正在研究一种方法来跟踪我公司的 VB.NET 项目的日志记录。.NET 框架具有非常通用的跟踪功能,我想使用 .NET 已经提供的功能。我的公司希望远离 3rd 方软件,所以 log4net 和诸如此类的东西是不可能的。

他们希望能够跟踪 Web 应用程序的流程,并且使用跟踪源、侦听器和开关将使这部分变得非常容易。但是,他们希望我跟踪整个程序中的变量何时发生变化,而不必在计算中每隔一行编写 Trace.Write("i = " & i) 。

那么,有什么有效的方法可以做到这一点吗?

感谢您的回答。提前致谢。


我决定去上课。我只是创建了一个具有 IntegerChanged 事件的 TraceVariable 类。这样,代码其他部分的开发人员将能够控制如何处理变量更改,如果他想做一些事情而不是跟踪它。

这是代码:

感谢您的回答!至于这很混乱,我们只会将它用于关键变量,所以不用担心。在我们的情况下进行追踪是必要的和安全的预防措施。

0 投票
2 回答
2047 浏览

asp.net - ASP.NET 和 System.Diagnostics 跟踪 - 我错过了什么,还是这是个坏主意?

出于各种常见原因,我想对我的 ASP.NET 应用程序使用跟踪。特别是因为我发现了使用服务跟踪查看器工具的可能性,它允许您以一种强大的方式检查您的跟踪。

由于我之前从未使用过这个trace的东西,所以我开始研究它。经过一段时间的 Google、SO 和 MSDN,我终于对事情的运作方式有了一个很好的了解。但我也发现了一件非常令人不安的事情。

在 ASP.NET 应用程序中使用跟踪时,通过 Web 请求将跟踪消息组合在一起非常有意义。特别是因为我想使用它的原因之一是研究性能问题。上述工具还通过<Corrleation>在生成的 XML 文件中使用标签来支持这一点。又是从哪来的System.Diagnostics.Trace.CorrelationManager。它还允许其他不错的功能,例如 Activity 启动/停止,它提供了更好的跟踪消息分组。很酷,对吧?

我也是这样,直到我开始检查CorrelationManager实际居住的地方。毕竟 - 这是一个静态属性。在玩了一些 Reflector 之后,我发现了一些可怕的东西 - 它存储在CallContext我们不应该在 ASP.NET 中使用哪种东西,对吗?

所以......我在这里错过了什么吗?ASP.NET 中的跟踪真的存在根本缺陷吗?

补充: Emm,我有点自己重写这些东西的边缘。我仍然想使用整洁的工具来探索痕迹。有什么理由我不应该这样做?也许还有更好的东西?如果我能尽快得到一些答案,那就太好了。:)

补充2:我的一位同事证实这不仅仅是一个理论问题。他在他正在研究的系统中观察到了这一点。这样就解决了。我将建立一个新的小系统,按照我想要的方式做事。:)

补充 3:哇,太棒了……微软的人找不到在 ASP.NET 中使用 Correlation Manager 有什么问题。所以显然我们毕竟没有修复这个错误......

0 投票
9 回答
9918 浏览

c# - C# 条件日志记录/跟踪

我想向我的 C# 应用程序添加日志记录或跟踪,但如果日志详细级别设置得太低以至于不会记录消息,我不希望记录格式化字符串或计算值的开销。

在 C++ 中,您可以使用预处理器来定义将阻止代码执行的宏,如下所示:

像这样使用:

你如何在 C# 中做到这一点?

我已经阅读了解释 Trace 和 Debug 设施的 Microsoft 文档他们声称使用 #undef DEBUG 和 #undef TRACE 会从生成的可执行文件中删除所有跟踪和调试代码,但它真的会删除整个调用吗?意思是,如果我写

如果我取消定义 TRACE,它不会调用我昂贵的函数吗?还是打了电话,然后决定不追踪任何东西?

无论如何,即使它确实删除了它,这也不如 C++ 宏,因为我不能让那个丑陋的大调用看起来像我在 C++ 中的简单 VLOG() 调用并且仍然避免评估参数,可以吗?我也不能像在 C++ 中那样通过在运行时定义更低的详细程度来避免开销,对吧?

0 投票
2 回答
5124 浏览

c++ - 在 gdb 中跟踪对类实例/内存范围的写访问

我正在尝试调试我在 C++ 大学课程中编写的小型操作系统。在运行时,我的某个对象之一正在损坏。这似乎是由于意外写入错误的内存地址而发生的。由于我无法通过纯粹查看代码来找到发生这种情况的地方,因此我需要另一种方法。

由于这是一个操作系统,我无法将 valgrind 之类的工具附加到它,但我可以在附加了 gdb 的模拟器(bochs/qemu)中运行它。

gdb 中有没有办法跟踪对类实例或更一般的特定内存范围的写访问?我想在写访问发生时立即中断,这样我就可以验证这是否有效。

0 投票
6 回答
28234 浏览

c# - 如何将 Trace() 添加到 C# 中的每个方法调用?

我很难追踪锁定问题,所以我想记录每个方法调用的进入和退出。我以前用 C++ 做过这个,而不必为每个方法添加代码。这可以用 C# 实现吗?

0 投票
10 回答
173005 浏览

.net - 记录最佳实践

我想了解人们如何处理真实应用程序中的跟踪和日志记录。以下是一些可能有助于解释您的答案的问题。

构架

你使用什么框架?

  • log4net
  • System.Diagnostics.Trace
  • System.Diagnostics.TraceSource
  • 记录应用程序块
  • 其他?

如果使用跟踪,是否使用 Trace.Correlation.StartLogicalOperation?

您是手动编写此代码,还是使用某种形式的面向方面编程来完成它?愿意分享代码片段吗?

您是否对跟踪源提供任何形式的粒度?例如,WPF TraceSources 允许您在不同级别配置它们:

  • System.Windows -所有 WPF 的设置
  • System.Windows.Animation -专门为动画覆盖。

听众

您使用什么日志输出?

  • 文本文件
  • XML 文件
  • 事件簿
  • 其他?

如果使用文件,您使用滚动日志还是仅使用单个文件?您如何使日志可供人们使用?

查看

您使用什么工具来查看日志?

  • 记事本
  • 尾巴
  • 事件查看器
  • 系统中心运营经理/微软运营经理
  • WCF 服务跟踪查看器
  • 其他?

如果您正在构建 ASP.NET 解决方案,您是否还使用 ASP.NET 健康监控?您是否在运行状况监视器事件中包含跟踪输出?Trace.axd 呢?

自定义性能计数器呢?

0 投票
5 回答
18149 浏览

.net - log4net 与 TraceSource

这个线程中,许多人表示他们使用 log4net。我是 TraceSources 的粉丝,想知道为什么要使用 log4net。

这就是我喜欢跟踪源的原因:

  • 可插入的侦听器 - XML、TextFile、Console、EventLog,您自己的
  • 可定制的跟踪开关(错误、警告、信息、详细、开始、结束、自定义)
  • 可定制的配置
  • 日志记录应用程序块只是一大组 TraceListeners
  • 活动/范围的相关性(例如,将 ASP.NET 请求中的所有日志与给定客户相关联
  • 服务跟踪查看器允许您分别针对这些活动可视化事件
  • 所有这些都可以在 app.config/web.config 中进行配置。

由于 .NET 框架内部使用 TraceSources,它还为我提供了一种配置跟踪的一致方式 - 使用 log4net,我必须配置 log4net 以及 TraceSources。

log4net 给了我什么 TraceSources 没有(或者无法通过编写几个自定义 TraceListeners 来完成)?

0 投票
2 回答
2035 浏览

asp.net - 如何将 trace.axd 导出到文件

这可能有一个简单的答案,但我还没有找到一个。我想知道是否有一个简单的解决方案可以将 trace.axd 的页面级跟踪结果导出到某种日志文件。

谢谢

0 投票
4 回答
3157 浏览

iis-7 - 经典 ASP 在 IIS7 中总是返回代码 200

我在 IIS7 中启用了跟踪。我在 IIS 管理工具的 ASP 选项卡中将这些属性设置为 true:

  • appAllowClientDebug,
  • 应用程序允许调试,
  • errorsToNTLog,
  • scriptErrorSentToBrowser;

为了测试它,我编写了一个小的经典 ASP 测试页面,我自愿在其中包含一个错误(错误的 activeX 名称)。

我的 asp 测试页面会一直呈现,直到到达 bug 行。页面的其余部分未呈现。我期待一个 500 错误代码,但代码始终是 200。FailedReqLogFiles 文件夹中没有错误文件。

有人知道吗?

0 投票
5 回答
7151 浏览

.net - 如何查明 .NET 程序集是否使用 TRACE 或 DEBUG 标志编译

有什么方法可以在不修改程序集的情况下找出程序集是否已使用 TRACE 或 DEBUG 标志集进行编译?