如何找到哪些动态对象需要花费很长时间才能完成?

Nas*_*ser 1 debugging wolfram-mathematica dynamic

M 8.0.1,Windows 7.

一个调试问题.

有时当我启动M并打开我的笔记本(在我关闭之前已启用动态)时,我收到此消息

在此输入图像描述

问题是,无论我点击等待还是禁用动态,消息都会不断回来.

我必须从Windows任务管理器终止进程本身(即Mathematica)以摆脱这个.

很明显,我的代码中似乎有一个动态错误.

我的问题是:M有没有办法告诉我哪些动态对象导致了这个问题?并且任何想法为什么告诉它禁用动态更新在这里没有帮助(因为我不断得到消息).

谢谢

rag*_*eld 6

您可以通过评估获得一些运气:

SetOptions[$FrontEnd, PrintKernelDynamicTraffic -> True]

这将导致Mathematica FrontEnd在向内核发送动态评估时将消息打印到系统控制台(在Mac上,我不知道它在Windows上的位置).如果您可以在消息出现时找到要打印的最后一个动态评估,那么该评估应该花费很长时间.

您可能希望在完成调试后禁用此功能,因此它不会使用数百万条调试消息填充系统日志.

  • @Nasser这会将消息发送到系统控制台(也就是说,在OS X上,您可以在/private/var/log/system.log中找到消息).我不知道Windows系统上的等价物是什么. (2认同)