问题标签 [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 投票
5 回答
2834 浏览

c# - C# System.Diagnostics.Process.Start() 参数

任何人都知道计算机在哪里保存可以通过此功能接受的参数?例如,我想知道我可以将什么发送到 Winword.exe (Microsoft Word)。或者这里有哪些程序的在线列表?

0 投票
2 回答
865 浏览

c# - System.Diaganostics.Process(当一个进程在内部使用另一个时)

我一直在使用 C#System.Diagnostics.Process来监视命令行实用程序的输出。

我正在“内部”监控的进程会启动第二个进程,一旦启动,我就不会从进程对象收到更多输出。

令人沮丧的是,如果您使用 cmd.exe(手动)执行相同的命令(我使用 System.Diagnostics.Process 对象启动),控制台会输出我需要在 C# 应用程序中看到的每一行!

但是,如果我(出于测试目的)使用 System.Diagnostics.Process 对象启动 cmd.exe 并运行该命令,它仍然会在之前的同一点停止输出(直接启动 process1.exe);此时使用了 second.exe。我认为这个测试会整合所有相关流程的所有输出,但事实并非如此。如何将所有这些输出输入到我的 C# 应用程序中?

0 投票
4 回答
5183 浏览

c# - C#:重定向已经运行的进程的标准输出

我一直很难获得“子进程”的输出(一个由我通过 c# System.Diagnostics.Process 监控的黑盒进程在内部启动)

我接受了我之前帖子的答案给出的建议: here。在那里你可以找到我所经历的细节。

此时,虽然我能够找到由 process1.exe 生成的 ssh 进程,但我正在监视它。我无法将输出重定向到我的 c# 程序,因为它是一个“已经在运行的进程”,并且不是直接从 C# 启动的。

看来,您在 System.Diagnostics.Process 对象上设置的所有属性只有在您从 c# 应用程序显式启动该进程时才会生效;如果其他一些“非托管进程”已启动该进程,则设置此重定向无效,因为该进程已由未指定我需要的重定向的东西启动。

有没有办法重定向已经启动的进程的输出(由程序启动的进程,在启动此进程之前我没有预先指定重定向的范围)?

0 投票
1 回答
367 浏览

c# - 帮我制作 C# 监视器(输出)和馈送(输入)到 SSH.exe

我发现我越完善一个问题,我得到的帮助就越好。

因此,为了使问题尽可能完整,我提供了这个在Visual Studio 2010 Beta 2中创建的C# WPF 解决方案

此解决方案完全重现了我遇到的问题,因为我尝试使用 System.Diagnostics.Process 对象从 ssh.exe 捕获输出。

要在您自己的眼前重现此问题,您需要两件事:(1) 安装Visual Studio 2010 Beta 2。(2) 允许传入 SSH 连接的 Linux 服务器的 IP 地址。

要修改此代码以使其正常工作,您可能需要像程序员一样成为黑客。代码和我知道如何制作一样完整。它将监视几乎所有其他命令行实用程序的输出(ssh.exe 除外)。

如果你点击我的名字,你可以看到我之前问过这个问题的所有方式。如果您有建议,但无法下载和重现此问题,请提交您对先前问题之一的答案:

我想把这个问题留给那些有重现问题的先决条件的人,并通过展示他们如何使其工作(经过某些修改)来回答它。

0 投票
2 回答
1311 浏览

c# - 捕获由非托管子进程引发的未处理异常

使用 C# 的 System.Diagnostics.Process 对象,我启动了一个非托管 exe,然后再启动另一个非托管 exe。

第二个 exe 导致我希望我的应用程序忽略但似乎无法忽略的未处理异常。

我在启动第一个进程时使用了 try/catch 语句,但它似乎没有捕获第二个进程引发的异常。当异常发生时,即时调试器会通知我并暂停我的应用程序,直到我手动单击“是”我要调试或“否”。然后我的申请继续进行。

JIT 调试器没有引发异常的 2ndprocess.exe 的源代码。所以,它没有告诉我异常是什么。我真的不在乎异常是什么,我只想知道如何捕获它并忽略它,这样我的应用程序就不会被它停止。到异常发生时,无论如何工作已经完成。

谁能提供一些见解?

0 投票
5 回答
10275 浏览

.net - System.Diagnosis.TextWriterTraceListener 的问题没有将任何日志写入文件系统

为了解决通过 smtp-server 发送电子邮件的问题,其中没有发送电子邮件,建议我使用 System.Diagnosis.TextWriterTraceListener 启用日志记录,以跟踪与 smtp-server 的通信以跟踪任何错误。我在节点下的 web.config 中添加了以下内容:

我在我的开发机器上试了一下,效果很好!我可以轻松读出与 smtp 服务器的完整通信。但是,在生产环境(在 Windows 2003 Server 的 IIS 6 上运行),它根本不起作用。没有日志被写入文件系统。我的第一个想法是,也许 ASP.NET 工作进程帐户(网络服务)没有足够的权限来写入指定位置的文件系统。我解决了这个问题,但仍然没有日志。其次,我认为也许该文件夹被设置为“只读”并修复了它。但我仍然没有写日志。

有谁知道问题可能是什么?或者关于如何解决这个问题的一些建议?提前谢谢!

0 投票
2 回答
3649 浏览

iis - 识别给定应用程序池的 w3wp System.Diagnostics.Process

我的服务器上运行的网站很少。

我在应用程序中有一个“诊断”页面,显示当前进程的内存量(非常有用)。

现在这个应用程序“链接”到另一个应用程序,我希望我的诊断页面能够显示另一个 w3wp 进程的内存量。

为了获得内存量,我使用了一个简单的代码:

我如何识别我的第二个 w3wp 进程,知道它的应用程序池?

我找到了相应的线程,但没有合适的答案: Reliable way to see process-specific perf statistics on an IIS6 app pool

谢谢

0 投票
1 回答
549 浏览

asp.net - System.diagnostics 和 System.Debug 在页面方法中不起作用

我们在使用 ASP .Net 的网页上有一个页面方法。我们尝试使用 System.Diagnostics 和 System.Diagnostics.Debug 放入跟踪语句。在 Visual Studio 2008 中,甚至没有命中该行的断点,而是命中了其他行上的其他断点。

我们可以看到这两种方法都没有输出。

还有一个 Global.asax 错误捕获器在其他情况下工作正常,但在页面方法中没有被捕获。

任何想法为什么页面方法和 System.Diagnostics 不能很好地协同工作?

0 投票
4 回答
6649 浏览

c# - FileVersionInfo.GetVersionInfo() 在控制台应用程序中不正确

我在使用 FileVersionInfo.GetVersionInfo() 时遇到了一些严重的怪异现象,希望有人能提供帮助。

问题的基础是我正在遍历一个文件夹中的所有文件,每个文件都调用 GetVersionInfo()。大约有300个文件。这适用于除 2 个文件之外的所有文件。对于这些 DLL,我从 GetVersionInfo() 返回的信息完全不正确。

为了消除所有其他变量,我将此调用提取到一个简单的测试应用程序中,它仍然遇到同样的问题。但是,如果我将测试应用程序构建为 Windows 应用程序(最初是控制台应用程序),那么数据就会正确返回。

澄清一下,作为控制台应用程序运行时返回的不正确数据不仅仅是文件不包含版本数据时所获得的空信息。它包含合理的数据,但只是错误的数据。就好像它正在从不同的文件中读取它一样。我寻找了一个包含匹配版本数据的文件,但找不到。

如果构建为控制台应用程序而不是 Windows 应用程序,为什么这个简单的调用会以不同的方式运行?

如果有人可以提供帮助,我将不胜感激。

Rgds,安迪

-- 添加代码

0 投票
3 回答
1722 浏览

c# - 自定义 TraceListener 中的缩进

我应该如何在自定义 TraceListener 中实现支持缩进?

即使有以下实现也不起作用:

在那个自定义 TraceListener 中。

我错过了什么吗?