C#应用程序执行跟踪

问题描述 投票:0回答:1

我有一个简单的C#应用​​程序的2个版本,一个按预期运行,但第二个通常没有。

有一些方法可以跟踪和比较这两个应用程序的执行差异(使用什么.dll文件,或调用某些方法时代码执行的差异)?

c# debugging
1个回答
0
投票

是的,伐木确实是答案。作为一个很好的起点,我建议您查看具有优秀Easy.Common实用程序的DiagnosticReport库,该实用程序将记录有关您的应用程序(包括所有程序集)以及目标环境的一系列关键信息。

有关其他详细信息,请参阅Stuff Every .NET App Should be Logging at Startup

这就是我使用Serilog的方式

Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Debug()
    .WriteTo.Console()
    .WriteTo.RollingFile(expandedLogFilePath, outputTemplate: fileOutputTemplate, retainedFileCountLimit: 14)
    .Enrich.With(new NormalizedSourceContextEnricher())
    .Enrich.WithThreadId()
    .CreateLogger();

logger = Log.ForContext<App>();
DiagnosticReport report = DiagnosticReport.Generate();
var reportString = report.ToString();
logger.Information(reportString);

(我不想包含我的示例DiagnosticReport输出,因为它包含一些可能敏感的信息)

© www.soinside.com 2019 - 2024. All rights reserved.