c# - 为调试目的获取 "critical"机器信息的库?

标签 c# .net debugging

一旦我们的软件投入使用,“关键”机器信息将被记录并用于调试目的。

“关键”信息可能包括对调试应用程序“通常”很重要的数据。它可能包括:

  1. 操作系统
  2. 已安装 Windows 更新
  3. 硬件信息:CPU、内存、硬盘
  4. 正在运行的进程/服务
  5. 当前用户帐户

很抱歉提出如此含糊的问题,我相信使用 WMI 编写自定义问题相当简单。但是,如果已经有一个库/框架旨在执行此类操作,那么最好不要重新发明轮子。

最佳答案

试试这样的东西,伪代码!

        private StringBuilder GetSystemInformationString()
        {
            StringBuilder sb = new StringBuilder();
            PropertyInfo[] properties = typeof(System.Windows.Forms.SystemInformation).GetProperties();
            if (properties != null && properties.Length > 0)
            {
                foreach (PropertyInfo pin in properties)
                {
                    sb.Append(System.Environment.NewLine);
                    sb.Append(pin.Name + " : " + pin.GetValue(pin, null));
                }
            }

            return sb;

        }

为了内存可以使用这样的东西:

(System.Diagnostics.Process.GetCurrentProcess().WorkingSet64 / 1024).ToString() + " Kb";

问候。

关于c# - 为调试目的获取 "critical"机器信息的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6762103/

相关文章:

c# - 如何刷新 Windows 窗体控件的简单绑定(bind)?

iOS Swift 在 Debug-iphoneos 中没有这样的文件或目录

c# - .NET 4.5 "Any CPU"带有 Perefer 32 位选项 : not work for dlls which have 32 and 64 bit versions with XCopy

c# - iOS TableView 按钮被多次调用

c# - 为什么我的结构数组占用了这么多内存?

.net - Entity Framework 6 设置连接字符串运行时

debugging - 枚举或列出 [您最喜欢的语言] 程序中的所有变量

java - 将android应用程序作为java程序运行来调试

c# - C# 中的 MessageBox 显示错误

c# - 如何确定 Assembly.Load() 在何处搜索程序集?