问题标签 [system.diagnostics]

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 投票
1 回答
2803 浏览

.net - 不跟踪 WCF 服务(诊断跟踪)

我有一个调用 WCF 服务的客户端(单元测试)(在控制台应用程序中以调试模式托管)。

我在服务中有错误,但我不知道是哪个。我需要跟踪它,但不在客户端生成任何文件 svclog。

任何建议,任何示例代码都有效吗?

编辑:我使用记录 EntLibrary 4.1。我认为配置和 WCF 诊断中存在错误跟踪而不是跟踪日志。

我在客户端的配置是:

0 投票
4 回答
4005 浏览

c# - C# - 以使用空白密码的用户身份运行新进程

我有一个从主应用程序生成的子进程,需要在 Windows 7 机器上作为另一个本地用户运行。我宁愿不在该用户帐户上设置密码,但似乎使用模拟创建新进程不允许使用空白密码或任何类型的空值。有谁知道这是否可能?

下面是我尝试传递一个空白字符:

编辑:我收到的错误消息

Logon failure: user account restriction. Possible reasons are blank passwords not allowed, logon hour restrictions, or a policy restriction has been enforced

0 投票
4 回答
280 浏览

asp.net - 登录 ASP.NET

有没有像 WCF 中使用的 System.ServiceModel.MessageLogging 这样的 asp.net 记录器?

0 投票
2 回答
11614 浏览

log4net - Log4net traceappender 没有记录任何内容

我想将 log4net 记录的所有内容重定向到 System.Diagnostics Trace 类。我对我应该做的事情的理解是将 log4net 指向 system.diagnostics.traceappender,然后我配置 system.diagnostics。这是我的 web.config 中的重要部分:

我是否错过了将事物联系起来的关键步骤?如果我绕过 log4net 并创建一个新的跟踪源,它将记录到我的源。

0 投票
2 回答
12302 浏览

wcf - 使用 log4net 或 NLog 的 WCF 日志记录/跟踪和活动 ID 传播

我已经看到了许多其他有关日志记录的问题。最佳实践。什么日志平台最好。等等。这里有一些关于 SO 的链接,对这个话题进行了很好的讨论:

记录最佳实践

log4net 与 TraceSource

.NET 3.5 项目的最佳日志记录解决方案

.NET 3.5 日志记录

开始编辑:

打完这篇长文章后,我想我想弄清楚的主要事情是 WCF 日志记录/跟踪和活动 id 传播与 System.Diagnostics 和 TraceSources 的紧密耦合程度。您能否使用第三方日志记录平台(如 log4net 或 NLog)获得“良好”的 WCF 日志记录/跟踪和活动 ID 传播。如果你这样做,你会怎么做?

有关 ServiceTraceViewer 的一些问题,请参阅这篇文章的底部,

结束编辑。

我的问题的主题在任何这些帖子中都没有详细讨论。我对人们在日志记录和 WCF 方面所做的事情很感兴趣。如果您正在处理一个包含 WCF 服务的项目并且您已经登录您的项目,您是否会特别努力使用 WCF 特定的日志记录功能。特别是,您是否尝试合并诸如活动跟踪、活动传播和端到端跟踪之类的东西?如MSDN 的这篇文章中所述。是 MSDN 关于传播活动的另一篇文章。

这些文章很好地解释了如何使用 System.Diagnostics TraceSources 进行活动跟踪、活动传播和端到端跟踪。它显示了如何配置 WCF 以通过 app.config/web.config 文件“打开”这些选项。WCF 在内部使用 TraceSources 来记录通信结果。

下面是一些示例代码(来自上面链接的第二篇 MSDN 文章),它或多或少地展示了如何通过 System.Diagnostics 和 TraceSources 实现活动传播:

您可以通过以下方式从服务中判断 WCF 是否已传播活动:

从我看到的所有示例中,活动传播是通过配置(通常通过 app.config)System.Service 模型 TraceSource 并将其propagateActivity 属性设置为“true”来实现的。活动实际上是通过在 Trace.CorrelationManager.ActivityId 上设置活动 id (guid) 来传播的。如果您使用 log4net 或 NLog,是否可以有效地使用 WCF 日志记录和活动传播?

我的项目将大量使用 WCF。我们目前正在尝试解决我们的日志记录解决方案。我认为我非常了解 WCF 日志记录和活动传播如何与 System.Diagnostics 和 TraceSources 一起使用。我想更好地了解如何/是否可以使用 log4net 和 NLog 等日志平台实现类似的功能。

他们是否提供一些“本地”支持?他们似乎更有可能提供一些基础设施,以便可以“手动”实现活动传播。也许是这样的:

如果 log4net/NLog 日志记录格式配置为记录 NDC 堆栈的顶部,则客户端记录的每条消息(当活动在范围内时)都将使用活动 ID“标记”。假设 WCF 服务的实现方式类似,那么在服务调用期间记录的所有消息也将被记录(尽管可能在单独的文件中)并使用相同的活动 ID 进行标记。因此,可以将“服务”日志文件中的日志消息与“客户端”日志中的相应消息相关联。

因此,如果您使用 WCF 并且有日志记录,这里有一些问题:

  1. 你使用活动传播吗?
  2. 您是否使用 TraceSources 进行日志记录?
  3. 您是否使用其他一些日志记录平台(例如 log4net、NLog)?
  4. 如果您使用另一个日志记录平台,您如何进行活动传播?
  5. 您是否混合使用第三方日志记录(log4net/NLog - 对于大多数日志记录)和System.Diagnostics.TraceSource(对于 WCF 服务边界日志记录)?

ServiceTraceViewer 呢?你用它吗?我见过的大多数示例都显示了 System.Diagnostics 通过 TraceSources 和 XmlTraceListener 生成的输出。它可以消耗来自 log4net、NLog 等的输出吗?它是否与基于 TraceSource 的日志记录“最佳”?如果是这样,那么在 WCF 服务边界(捕获一些应用程序上下文以及 WCF 通信信息)仅具有一点基于 TraceSource 的日志记录以在 ServiceTraceViewer 中查看是否“足够好”?作为我正在进行的 WCF 学习过程的一部分,我简要地使用了 ServiceTraceViewer。

如果你已经走到这一步,感谢阅读。也许我过度考虑了日志记录、WCF 活动传播以及在 ServiceTraceViewer 中查看日志的能力的整个集成。在选择日志平台和/或日志策略时,这似乎是一个重要的考虑因素,但我对这些日志平台或 WCF 没有足够的经验来确定。

0 投票
2 回答
1721 浏览

c# - Process.Start dirquota.exe - 系统找不到指定的文件

用这个把我的头撞在墙上大约 2 天。

我正在使用 System.Diagnostics.Process 来执行 dirquota.exe。我在 .Start() 捕获了一个异常,即“系统找不到指定的文件”。

我现在正在做:

除了 dirquota.exe 之外,这几乎输出了该目录中的每个文件。任何人?

干杯。

0 投票
2 回答
472 浏览

c# - 使用 System.Diagnostic Process 时,我会错过进程开始和捕获输出之间的一些输出行吗?

如果我有诸如

从我开始 proc 到捕获/解析开始时,我是否可能会错过一些行,还是会等待?如果没有,我该怎么办?

0 投票
3 回答
1554 浏览

wcf - 使用诊断时出现 WCF 和 IIS 错误 500

使用诊断时,IIS 上的 WCF 出现问题。

当我调用该服务时,我收到以下错误:

System.Net.WebException:远程服务器返回错误:(500)内部服务器错误..

如果我删除“system.diagnostics”部分,我不会收到错误 500,但会收到错误

无法激活请求的服务“ http://localhost/CustomerServiceSite/Customer.svc ”。有关详细信息,请参阅服务器的诊断跟踪日志。

这显然需要诊断才能解决。

知道为什么诊断不起作用吗?

0 投票
4 回答
13347 浏览

c# - Debugger.Launch 和 Debugger.Break 的区别

有什么区别

?

0 投票
3 回答
5900 浏览

c# - 使用 System.Diagnostics.Process.Start 运行程序会导致应用程序错误

在我的 PC 上打开 DWG 文件:

如果我从命令行运行它:

AutoCAD Lite 打开 DWG 文件。

同样,如果我打开命令提示符并使用参数运行相同的 exe,它工作正常。

但是,如果我使用

进而

或者

或者

我收到以下错误:


acadlt.exe - 应用程序错误

“0x01317c8c”处的指令引用了“0x01317c8c”处的内存。无法“读取”内存。

点击 OK 终止程序 点击 CANCEL 调试程序

确定 取消


顺便说一句,如果我使用调试器单步执行代码,代码就可以正常工作。

任何人都知道我如何使用 Process.Start 打开这个 DWG?