如何在日志中显示变化的值?

时间:2019-06-25 07:12:01

标签: c# visual-studio

我有一个ASP.NET Core应用程序,我不知道下一步该怎么做。注意-我使用的是Visual Studio 2019。

我在下载图像方面有进展。我想知道我的代码是否运行良好并输出正确的值(如果您发现某些问题或有更好的解决方案,欢迎您通知我)。 但是我不想不断调试代码中的所有步骤(这会花费很多时间)。

所以我的想法是将progress放在某个地方(也许在控制台日志中),这样我就可以一直观看。

我尝试了什么?

我已经在方法中添加了一个简单的Console.WriteLine (progress),但看不到任何控制台。 然后我用Command Window>? progress进行了尝试,但是只有在设置了断点的情况下,它才会输出该值, 再次导致相同的问题。

你们中的一个可以进一步帮助我,或者我需要调整什么以便可以在日志中查看进度。

这是我的代码:

while(...)
{
    if (ExpectedStreamSize.HasValue && _configSize.HasValue)
    {
        var expected = ExpectedStreamSize + _configSize.Value;
        var progress = _stream.ReadPosition / (float) expected;
        var limitedProgress = progress > 1 ? 1 : progress;

        var epsilon = 0.001;
        if (!_lastReportedProgress.HasValue || _lastReportedProgress.Value + epsilon < limitedProgress)
            _onProgressChanged?.Invoke(limitedProgress);

        _lastReportedProgress = limitedProgress;
        Console.WriteLine(progress);     // I setted my breakpoint in here
    }
}

2 个答案:

答案 0 :(得分:1)

您可以尝试登录到文件。这样,您甚至可以在发布模式下或在Visual Studio外部运行可执行文件时进行调试。

public void LogToFile(string text)
{
    string path = @"c:\temp\MyTest.txt";

    string appendText = text + Environment.NewLine;
    File.AppendAllText(path, appendText);
}

答案 1 :(得分:0)

在调试时,右键单击变量,选择“添加监视”。您会在手表窗口中看到它的价值所在。