问题标签 [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.
asp.net - VB.NET 跟踪变量
我正在研究一种方法来跟踪我公司的 VB.NET 项目的日志记录。.NET 框架具有非常通用的跟踪功能,我想使用 .NET 已经提供的功能。我的公司希望远离 3rd 方软件,所以 log4net 和诸如此类的东西是不可能的。
他们希望能够跟踪 Web 应用程序的流程,并且使用跟踪源、侦听器和开关将使这部分变得非常容易。但是,他们希望我跟踪整个程序中的变量何时发生变化,而不必在计算中每隔一行编写 Trace.Write("i = " & i) 。
那么,有什么有效的方法可以做到这一点吗?
感谢您的回答。提前致谢。
我决定去上课。我只是创建了一个具有 IntegerChanged 事件的 TraceVariable 类。这样,代码其他部分的开发人员将能够控制如何处理变量更改,如果他想做一些事情而不是跟踪它。
这是代码:
感谢您的回答!至于这很混乱,我们只会将它用于关键变量,所以不用担心。在我们的情况下进行追踪是必要的和安全的预防措施。
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 有什么问题。所以显然我们毕竟没有修复这个错误......
c# - C# 条件日志记录/跟踪
我想向我的 C# 应用程序添加日志记录或跟踪,但如果日志详细级别设置得太低以至于不会记录消息,我不希望记录格式化字符串或计算值的开销。
在 C++ 中,您可以使用预处理器来定义将阻止代码执行的宏,如下所示:
像这样使用:
你如何在 C# 中做到这一点?
我已经阅读了解释 Trace 和 Debug 设施的 Microsoft 文档,他们声称使用 #undef DEBUG 和 #undef TRACE 会从生成的可执行文件中删除所有跟踪和调试代码,但它真的会删除整个调用吗?意思是,如果我写
如果我取消定义 TRACE,它不会调用我昂贵的函数吗?还是打了电话,然后决定不追踪任何东西?
无论如何,即使它确实删除了它,这也不如 C++ 宏,因为我不能让那个丑陋的大调用看起来像我在 C++ 中的简单 VLOG() 调用并且仍然避免评估参数,可以吗?我也不能像在 C++ 中那样通过在运行时定义更低的详细程度来避免开销,对吧?
c++ - 在 gdb 中跟踪对类实例/内存范围的写访问
我正在尝试调试我在 C++ 大学课程中编写的小型操作系统。在运行时,我的某个对象之一正在损坏。这似乎是由于意外写入错误的内存地址而发生的。由于我无法通过纯粹查看代码来找到发生这种情况的地方,因此我需要另一种方法。
由于这是一个操作系统,我无法将 valgrind 之类的工具附加到它,但我可以在附加了 gdb 的模拟器(bochs/qemu)中运行它。
gdb 中有没有办法跟踪对类实例或更一般的特定内存范围的写访问?我想在写访问发生时立即中断,这样我就可以验证这是否有效。
c# - 如何将 Trace() 添加到 C# 中的每个方法调用?
我很难追踪锁定问题,所以我想记录每个方法调用的进入和退出。我以前用 C++ 做过这个,而不必为每个方法添加代码。这可以用 C# 实现吗?
.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 呢?
自定义性能计数器呢?
.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 来完成)?
asp.net - 如何将 trace.axd 导出到文件
这可能有一个简单的答案,但我还没有找到一个。我想知道是否有一个简单的解决方案可以将 trace.axd 的页面级跟踪结果导出到某种日志文件。
谢谢
iis-7 - 经典 ASP 在 IIS7 中总是返回代码 200
我在 IIS7 中启用了跟踪。我在 IIS 管理工具的 ASP 选项卡中将这些属性设置为 true:
- appAllowClientDebug,
- 应用程序允许调试,
- errorsToNTLog,
- scriptErrorSentToBrowser;
为了测试它,我编写了一个小的经典 ASP 测试页面,我自愿在其中包含一个错误(错误的 activeX 名称)。
我的 asp 测试页面会一直呈现,直到到达 bug 行。页面的其余部分未呈现。我期待一个 500 错误代码,但代码始终是 200。FailedReqLogFiles 文件夹中没有错误文件。
有人知道吗?
.net - 如何查明 .NET 程序集是否使用 TRACE 或 DEBUG 标志编译
有什么方法可以在不修改程序集的情况下找出程序集是否已使用 TRACE 或 DEBUG 标志集进行编译?