C# 加载Matlab程序集时等待40秒。。。如何诊断原因?

C# 加载Matlab程序集时等待40秒。。。如何诊断原因?,c#,visual-studio,matlab,c#-4.0,matlab-deployment,C#,Visual Studio,Matlab,C# 4.0,Matlab Deployment,我有一个非常奇怪的问题:我把一些Matlab代码编译成了一个程序集。我使用以下C行实例化该类: MatPhiLib temp = new MatPhiLib(); // This line takes 40 seconds to execute. 第一次调用该行时,执行该行通常需要整整40秒。随后的呼叫是即时的。有些东西已经改变了,因为我在4个月前最后一次查看代码时没花这么长时间 一位专家能推荐一种方法来获得一些可见性,看看这里发生了什么吗 更新: 注意到UltraEdit my editor

我有一个非常奇怪的问题:我把一些Matlab代码编译成了一个程序集。我使用以下C行实例化该类:

MatPhiLib temp = new MatPhiLib(); // This line takes 40 seconds to execute.
第一次调用该行时,执行该行通常需要整整40秒。随后的呼叫是即时的。有些东西已经改变了,因为我在4个月前最后一次查看代码时没花这么长时间

一位专家能推荐一种方法来获得一些可见性,看看这里发生了什么吗

更新:

注意到UltraEdit my editor第一次启动时也只需40秒。我认为两者之间存在某种联系,因为这种情况以前也从未发生过

更新:

发现问题:是我的新NetGear Stora NAS导致了严重的网络超时问题。当我拔掉电源插头时,一切都像闪电一样开始工作

愿一千只骆驼身上的跳蚤横行在一个愚蠢的家伙的腋窝里,这个家伙对这项史诗般的工程设计负责

在40秒等待期的早期,进入正在运行的进程调试→ 打破一切。 打开调用堆栈窗口调试→ 窗户→ 调用堆栈。 如果将MatLib程序集用作外部库而不是解决方案中的项目,请右键单击“调用堆栈”窗口,然后在关联菜单上选择“显示外部代码”。 打开线程窗口调试→ 窗户→ 线程。 通过线程,逐个选择它们并查看调用堆栈窗口。您应该能够从最上面的几个帧中看到每个线程在做什么——您应该能够看到延迟是在MatLib代码中的何处引起的。等待句柄中的线程正在等待其他线程完成工作,或者处于空闲状态,等待其他线程创建要处理的工作。
我的猜测是,库将尝试进行某种类型的网络调用,40秒是此调用的超时时间。您应该能够使用从上述步骤中学习到的信息来跟踪库中的问题。

您是否附加了dotTrace或ANTS等探查器?问题已修复请参阅原始问题的更新。您是对的:这是网络超时。我拔掉了我的NAS,一切都开始很好地工作。请看我原来问题的更新。