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

.net - 如何中断 IO 绑定线程

我正在打开一个 System.Diagnostic.Process 以从进程中读取标准输出,并且我希望能够在经过一定时间后中断它。

这不起作用,因为线程在 ReadToEnd() 方法中。我试图从主线程关闭流,希望 EOF 是 Read 方法,但这也不起作用。

0 投票
6 回答
8865 浏览

c# - 在 Windows 7 下启动 System.Diagnostics.Process 时出现问题

我正在尝试从 .NET 3.51 启动一个应用程序(操作系统、我的应用程序和我要启动的应用程序都是 32 位)。

启动进程的代码用于其他应用程序,但有一个让我们头疼。如果我们“双击”应用程序的图标,它会按预期工作,这意味着它可以作为计算机中的应用程序正常工作。直接双击.exe,也可以。

操作系统为 Windows 7 32Bits(家庭版和/或专业版)。

我们的 .NET 应用程序使用 x86 编译以避免出现问题。

启动“进程”的代码位于我们制作的 DLL(也是 32 位)中,基本上它是一个简单的 DLL,它包含一些“通用代码”、通用方法、函数和我们在整个代码中使用的东西。其中一种方法如下所示:

我不知道这个方法是谁写的,但它已经在不同的应用程序上工作了大约六年,因此我认为它“没问题”。但是,我们有一个客户的软件在通过该参数时不会启动。

论据是

  1. process是一个 System.Diagnostics.Process 使用简单的“new Process();”创建的</li>
  2. path是 .exe “c:/path/to/my.exe” 的完整路径。
  3. enableRaisingEvents为假
  4. windowStyle已最大化(但已尝试其他)。

它给出了一个糟糕的消息框……我很高兴地把它永生了。它是西班牙语,但翻译应该很容易:

替代文字

它说:

应用程序错误 程序 (0x0eedfade) 发生意外异常...

谷歌搜索 0x0eedfade 会给出看起来很吓人的奇怪结果,但事实是,如果我转到我尝试启动的 .exe 并双击它,它会完美运行。

为了记录:如果我尝试启动其他东西(例如:Notepad.exe、Adobe Acrobat Reader),它可以工作,Firefox 不会打开并且不会显示错误。

这种“有些工作,有些不工作”的行为让我相信,Windows 7 安全机制或类似的安全机制可能存在我不知道的问题。

我错过了什么或做错了什么?

更新:好的;我得到了软件的副本。这是一个凌乱的软件,但它的工作原理。现在我可以调试了,我看到程序在使用我的FireUpProcess方法启动时会出错。

正如建议的那样,我添加了 WorkingDirectory 代码,但这里是代码:

替代文字

这意味着,“程序无法启动,因为 ddip.dll 丢失……尝试重新安装 bla bla”。

问题是,如果我从命令行执行相同的@path,程序会完美打开:

替代文字

这将打开程序。如果我单击位于“程序”菜单中的“快捷方式”,也会发生同样的情况。该快捷方式中没有任何参数,它是对可执行文件的简单调用。

所以现在的问题是:我的代码和其他方法有什么区别?

一定有一些不同的东西导致我的过程无法启动。

有任何想法吗?

更新和解决方案

我通过使用以下提供的答案之一使其工作。事实证明,没有人直接向我指出解决方案,但他们都在这里和那里给了我很好的想法。

我在我们的应用程序中添加了一个应用程序清单(应该从 vista 时代就有它,不知道为什么它没有放在第一位)。我使用 VStudio 2008 添加文件 -> 应用程序清单添加的应用程序清单。

在其中,我确保我们有这个:

我们不需要管理员或类似的东西,但显然 Vista/7 需要知道它。

添加之后,该过程将正确启动。

注意:默认情况下 UseShellExecute 为true(如某些人所建议的那样),如果这是您想要的,您必须明确将其设置为 false。

0 投票
6 回答
36254 浏览

c# - 在我的 C# Win 应用程序中打开 Windows 的计算器?

我知道我可以使用以下代码打开 Windows 计算器:

但我想在我的 C# Win 应用程序中打开它,即:我不想在独立窗口中打开它,我想在我的窗口中打开它。
我该怎么做 ?

0 投票
1 回答
647 浏览

azure - Windows azure 中的 System.Diagnostics.Trace.WriteLine

当我在 Azure 开发中使用 System.Diagnostics.Trace.WriteLine 时,该信息存储了多长时间。当工作者角色或网络角色被回收时,它会被清除吗?

0 投票
2 回答
2451 浏览

c# - 如何在 C# 中为每个正在运行的进程获取 cpu 使用率

我使用 System.Diagnostics.Process.GetProcesses() 来获取进程列表。我为每个进程找到了 TotalProcessorTime 属性 - 它是 TimeSpan。

但是如何获得 CPU 使用率的相对值,即我需要每个正在运行的进程占总 CPU 使用率的百分比。

0 投票
1 回答
298 浏览

c# - 后台线程上的 TextWriterTraceListener

我有一个第 3 方组件,它使用 TraceSwitch 功能允许我输出内部发生的一些跟踪。不幸的是,在详细模式下运行开关,使用 TextWriterTraceListener 作为消费者(输出到文件)会大大降低应用程序的速度。

跟踪数据是否立即写入并不重要,那么有没有办法将数据写入较低优先级的线程?也许是一个任务?

编辑

经过进一步调查,似乎只是在不连接侦听器的情况下打开开关会导致减速。我将获得组件提供者的控制。

不过,听到答案仍然很有趣。

0 投票
3 回答
9341 浏览

c# - TextWriterTraceListener 不起作用

配置文件:

编码:

我可以在 cosole 窗口中看到文本。并且文件已创建,但它是空的。我记得某处有类似 Autoflush 属性的东西吗?

0 投票
1 回答
652 浏览

.net - 代码检测

它对检测代码有多重要,代码检测是否被视为代码的质量属性???

我所说的检测是指放置用于诊断的代码,例如跟踪语句,并在必要时使用性能计数器。

0 投票
2 回答
824 浏览

c# - System.Debug 和 System.Threading 参考错误

错误消息“ThreadState”是“System.Threading.ThreadState”和“System.Diagnostics.ThreadState”之间的模糊引用

我正在尝试调试 C# Class .cs 并使用 Debug.Writeline 进行代码调试...

但是上面出现错误!!

还有另一种调试 C# 代码类的方法吗?我尝试了 Console.Writeline() 和 Alert.Show 和 Message.Show 并没有找到另一种有效的方法来调试 Web 应用程序 C# 类或绕过模棱两可的参考!

0 投票
1 回答
314 浏览

c# - 如何使用 Lazy 创建可预测的输出

我正在开发一些内部日志框架,为了提高性能,懒惰地获取一个StackFrame. 我想用它StackFrame来获得我的日志框架之外的第一个方法。

我最初的想法是这样的:

但是当你交换这些行时:

结果是不可预测的,因为调用堆栈已更改。无论如何,通过闭包获得本地范围/框架的钩子,同时保持懒惰。

我能想到的唯一解决方案是单步执行 StackTrace,直到我用未知方法检测到第一帧。

我真的希望有更好的解决方案。