我有一个非常长的时间(超过3小时,有点手动)的预处理方法来获取所有我需要运行分析的数据。我在调试模式下运行它,并且预处理工作得很好,我得到了我想要的所有数据,但是一旦我开始处理数据,就会发现一个错误。如果我停止了这个过程,我将不得不重新运行预处理,只发现另一个可能的错误。有没有办法保存这个预处理的数据,所以我可以把它转储到内存中,而不必每次都预处理,而不必停止这个过程?您是否可以将内存储存在VS中以用于其他运行?
我是在预处理之后和处理之前指出的,并且会有点像保存点而不必停止进程并添加代码。
我有一个非常长的时间(超过3小时,有点手动)的预处理方法来获取所有我需要运行分析的数据。我在调试模式下运行它,并且预处理工作得很好,我得到了我想要的所有数据,但是一旦我开始处理数据,就会发现一个错误。如果我停止了这个过程,我将不得不重新运行预处理,只发现另一个可能的错误。有没有办法保存这个预处理的数据,所以我可以把它转储到内存中,而不必每次都预处理,而不必停止这个过程?您是否可以将内存储存在VS中以用于其他运行?
我是在预处理之后和处理之前指出的,并且会有点像保存点而不必停止进程并添加代码。
如果数据需要很长时间才能生成,但实际上并没有那么多,那么您可以使用序列化将数据写入文件。
也许最简单的选择是使用BinaryFormatter
:你只需要标记你想保存的所有类型为[Serializable]
,它会自动工作。
是的,这是我发现的最好的解决方案。我只需要通过我的所有课程添加[Serializable]标签(希望我没有错过任何东西),然后再进行冗长的3小时过程。 – Tizz
不知道我完全理解你的需求,但是如何创建内存转储文件?然后,您可以根据需要从已知的保存点继续执行多次。请参阅MSDN:Use Dump Files to Debug App Crashes and Hangs in Visual Studio。
什么样的数据?它可以存储在数据库或本地文件中吗? –
您需要保存数据而不添加任何代码?你的意思是你正在寻找一个VS的功能为你做这个? – kaptan
@Yuriy Galanter我希望它以某种方式存储在本地,希望在VS中可以像kaptan所暗示的那样....我没有建立数据库。它是我创建的类,也是它的非常类似的OOP,所以它的接口和扩展都很深入。我希望有一个快速的解决方案 – Tizz