当我调试我的应用程序时,需要读取一个大的原始图像文件(800MB)。我发现打开IntelliTrace时应用程序太慢了。
我发现的IntelliTrace的IO太高,但我不知道如何找到真正的原因“为什么的IntelliTrace使我的应用程序这么慢”。为什么在智能跟踪写那么多信息给.iTrace文件,当我读到大原始图像文件。
请给我一个帮助
InteliTrace记录应用程序经过的所有步骤。因此疯狂的I / O。
从维基百科:
与仅记录当前活动堆栈的传统调试器不同,IntelliTrace记录所有事件,例如先前的函数调用,方法参数,事件和异常。如果未在发生错误的位置设置断点,则可以重新执行代码。[114] 使用IntelliTrace进行调试将导致应用程序的运行速度比不使用IntelliTrace进行调试的速度慢,并且由于需要记录其他数据,因此将使用更多的内存。
为了允许您在调试过程中回溯,它记录了更改内存的方式和时间,以便在您退回代码时可以将其还原到以前的状态(与经典调试器相反,后者只能前进)。
通过处理800MiB的数据,您几乎可以迫使IntelliTrace记录它如何通过内存,以及在解码过程中使用的所有变量(乘以更改时间,例如循环长度)。
解决InteliTrace中缓慢的调试问题的答案是限制它可以节省甚至更好的创建测试环境。您可以尝试制作单元测试和/或测试数据文件(比当前的blob小得多)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句