我有一个Windows窗体应用程序。当用户选择要查看详细信息的项目时,加载详细信息屏幕需要4秒钟(平均值为2.5)。这似乎太长了......但它并不长。
我遇到的问题是很难追踪,因为它比它应该更长但不会太长。换句话说,如果它需要30秒,我可以轻松地逐步找到那个时间占用的步骤。但是有4秒钟,你会遇到类似调试器放慢速度的问题,所以你不确定你是否找到了慢速步骤。
如何在适度“快速”过程中追踪缓慢的步骤?
答案 0 :(得分:2)
您可以使用profiler告诉您花费的时间。
答案 1 :(得分:1)
只需将流程主要步骤的时间戳记录到日志文件或单独的窗口中即可。这样的事情会做:
string times = "";
times += string.Format("step 1: {0}\n", DateTime.Now);
// ...
times += string.Format("step 2: {0}\n", DateTime.Now);
// ...
times += string.Format("step 3: {0}\n", DateTime.Now);
// now output the string to a file or to a different window (or even examine it in the debugger)
答案 2 :(得分:1)
找到瓶颈的快速而肮脏的方法是启动慢速操作,然后立即“全部中断” - 单击“全部中断”按钮,或按Ctrl + Alt + Break。
当你这样做几次时,你会经常发现程序在同一个地方多次中断,这应该给出了一直在咀嚼什么的线索。