有没有办法从命令行 运行 DebugDiag Analysis?
Is there a way to run DebugDiag Analysis from the command line?
有没有办法从命令行调用 DebugDiag 分析?我试过这个:
DebugDiag.Analysis.exe "C:\dumps\oops.dmp"
但它只启动了 GUI(添加了 oops.dmp
)。
我正在寻找的是更像这样的东西:
DebugDiag.Analysis.exe -dump "C:\dumps\oops.dmp" -out "C:\results\oops-DebugDiag.mht" -anaylsis "CrashHangAnalysis,MemoryAnalysis"
那么这应该 运行,不显示任何 GUI。
用例:我们 运行 使用 SuperDump 将我们的故障转储分析完全自动化。自动添加 DebugDiag .mht
报告会非常好。
这能做到吗?是否有任何关于 DebugDiag 命令行选项的文档?
DebugDiag 不会打开开箱即用的 CLI。
但是,它通过 DebugDiag.DotNet.dll
公开了一个名为 DebugDiag.DotNet.NetAnalyzer
的 class,它位于 DebugDiag 的安装目录中。这是它的文档:
/// <summary>
/// The NetAnalyzer object is used to determine available analysis scripts, add data files, and start an analysis.
/// This object is used internally by the DebugDiag Analysis user interface to manage analysis rules.
/// End users can use this object to develop their own rules, batch files, or GUI's to manage data analysis.
/// </summary>
/// <remarks>
/// <example>
/// <code language="cs">
/// using (NetAnalyzer analyzer = new NetAnalyzer())
/// {
/// //In this example I'm referencing a dll module that has the prebuild rules that ship with debugdiag
/// analyzer.AddAnalysisRulesToRunList(@"C:\Program Files\DebugDiag\AnalysisRules\DebugDiag.AnalysisRules.dll", false);
///
/// List<AnalysisRuleInfo> analysisRules = analyzer.AnalysisRuleInfos;
///
/// Console.WriteLine("The available rules on the analyzer are: \n\r\n\r");
///
/// foreach(AnalysisRuleInfo ruleInfo in analysisRules)
/// {
/// Console.WriteLine(ruleInfo.DisplayName);
/// }
/// }
/// </code>
/// </example>
/// </remarks>
所以,基本上可以使用这个 API 来实现自动化。这里有两个项目,目前是这样使用它的:
有没有办法从命令行调用 DebugDiag 分析?我试过这个:
DebugDiag.Analysis.exe "C:\dumps\oops.dmp"
但它只启动了 GUI(添加了 oops.dmp
)。
我正在寻找的是更像这样的东西:
DebugDiag.Analysis.exe -dump "C:\dumps\oops.dmp" -out "C:\results\oops-DebugDiag.mht" -anaylsis "CrashHangAnalysis,MemoryAnalysis"
那么这应该 运行,不显示任何 GUI。
用例:我们 运行 使用 SuperDump 将我们的故障转储分析完全自动化。自动添加 DebugDiag .mht
报告会非常好。
这能做到吗?是否有任何关于 DebugDiag 命令行选项的文档?
DebugDiag 不会打开开箱即用的 CLI。
但是,它通过 DebugDiag.DotNet.dll
公开了一个名为 DebugDiag.DotNet.NetAnalyzer
的 class,它位于 DebugDiag 的安装目录中。这是它的文档:
/// <summary>
/// The NetAnalyzer object is used to determine available analysis scripts, add data files, and start an analysis.
/// This object is used internally by the DebugDiag Analysis user interface to manage analysis rules.
/// End users can use this object to develop their own rules, batch files, or GUI's to manage data analysis.
/// </summary>
/// <remarks>
/// <example>
/// <code language="cs">
/// using (NetAnalyzer analyzer = new NetAnalyzer())
/// {
/// //In this example I'm referencing a dll module that has the prebuild rules that ship with debugdiag
/// analyzer.AddAnalysisRulesToRunList(@"C:\Program Files\DebugDiag\AnalysisRules\DebugDiag.AnalysisRules.dll", false);
///
/// List<AnalysisRuleInfo> analysisRules = analyzer.AnalysisRuleInfos;
///
/// Console.WriteLine("The available rules on the analyzer are: \n\r\n\r");
///
/// foreach(AnalysisRuleInfo ruleInfo in analysisRules)
/// {
/// Console.WriteLine(ruleInfo.DisplayName);
/// }
/// }
/// </code>
/// </example>
/// </remarks>
所以,基本上可以使用这个 API 来实现自动化。这里有两个项目,目前是这样使用它的: