我正在尝试调查崩溃转储中的错误(因此我无法更改代码).我有一个非常复杂的对象(序列化表示中有数千行),并且它的状态不一致.要调查其状态,Visual Studio调试器视图是无用的.但该对象有一个数据契约.我想序列化它,然后使用我喜欢的文本编辑器浏览对象.是否可以从调试器中执行此操作?
我有两个课程,我不能以任何方式改变:
第1类:将a TextWriter作为构造函数参数并将其用作输出流.
第2类:提供方法WriteLine(string).
我需要一个适配器,这样Class1的所有输出都写入Class2.因此,我启动了一个适配器,它扩展TextWriter并缓冲传入的文本,并在新行到达时将其刷新到class2实例.
但是,TextWriter中有很多方法 - 我应该实现哪些方法?Class1中的输出仅为字符串.
根据MSDN,应该至少覆盖Write(char),但是,这强制我自己完成所有\ r \n新行处理...
Q1:你知道更好的方法来实现我的目标吗?Q2:如果不是,我应该覆盖哪些TextWriter方法以实现最小的实现工作.
我在使用以下项目创建的项目中进行了以下XUnit测试dotnet new xunit:
type Scenarios(output : ITestOutputHelper) =
[<Fact>]
member __.``Output shows up`` () =
output.WriteLine("I'm here")
Run Code Online (Sandbox Code Playgroud)
这种方法似乎以前有效,但运行测试并没有显示任何输出,无论我是否使用dotnet test或dotnet xunit:
> dotnet test
Build started, please wait...
Build completed.
Test run for C:\Work\OSS\Streamstone.fs\tests\StreamstoneFs.Tests\bin\Debug\netcoreapp2.0\StreamstoneFs.Tests.dll(.NETCoreApp,Version=v2.0)
Microsoft (R) Test Execution Command Line Tool Version 15.6.0-preview-20180109-01
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
[xUnit.net 00:00:00.4295013] Discovering: StreamstoneFs.Tests
[xUnit.net 00:00:00.4750480] Discovered: StreamstoneFs.Tests
[xUnit.net 00:00:00.4792986] Starting: StreamstoneFs.Tests
[xUnit.net 00:00:00.5964013] Finished: StreamstoneFs.Tests
Total tests: …Run Code Online (Sandbox Code Playgroud)