Visual studio 2010 visualstudio中的Profile-mex函数

Visual studio 2010 visualstudio中的Profile-mex函数,visual-studio-2010,matlab,mex,Visual Studio 2010,Matlab,Mex,在本文中,将解释如何在VisualStudio中评测.exe文件。是否有任何方法可以使用相同的过程分析mex代码 谢谢。你当然可以。只需在构建MEX文件时启用调试信息(符号)的生成,并从Visual Studio中的分析->配置文件菜单附加到MATLAB.exe即可 这与使用VisualStudio调试MEX文件的过程几乎相同。如果您使用VS项目(而不是MEX命令)构建MEX文件,那么这个过程很简单,在这种情况下,您只需在项目中启用分析信息(链接器高级配置文件属性),构建,然后从Analyze-

在本文中,将解释如何在VisualStudio中评测.exe文件。是否有任何方法可以使用相同的过程分析mex代码


谢谢。

你当然可以。只需在构建MEX文件时启用调试信息(符号)的生成,并从Visual Studio中的分析->配置文件菜单附加到MATLAB.exe即可

这与使用VisualStudio调试MEX文件的过程几乎相同。如果您使用VS项目(而不是
MEX
命令)构建MEX文件,那么这个过程很简单,在这种情况下,您只需在项目中启用分析信息(链接器高级配置文件属性),构建,然后从Analyze->Profiler->attach/detach。。。菜单项

如果您使用MATLAB构建,则需要启用使用符号信息构建MEX文件,但也需要启用优化:

mex -g -O -largeArrayDims myMEX.cpp
我通常从VS项目构建MEX文件,而不是使用
MEX
,因此我不能说后一个选项的工作情况如何,但的文档建议您可以同时进行优化和符号信息生成编辑:可能还需要编辑mexopts.bat并将
/DEBUG/PROFILE
(不禁用编译器优化!)添加到
链接标志
。这也允许您从
mex
中省略
-g
,但我不能说


编辑2:从R2014a开始,MEX选项不再使用.bat文件进行管理。相反,请查找类似于
C:\Users\Jon\AppData\Roaming\MathWorks\MATLAB\R2014a\mex\u C\u win64.XML的XML文件。非常感谢您的回复<代码>生成调试信息:是(\Debug)
概要文件:是(概要文件)
,然后附加matlab。VS2010中出现了一个新的tad,其中包含消息
当前正在评测
,但正在无休止地加载。我做错什么了吗?PS:我在分析过程中运行了mex函数。@Thoth这是正确的,当它有永久旋转的漩涡时,它就是分析。您需要分离以让VS报告结果。使用Performance Explorer(通常是左侧的选项卡)分离,或从Analyze->Profiler菜单分离。有时停止而不是分离会使MATLAB崩溃。当VS分析时,我们是否必须通过MATLAB在后台运行mex函数?@Thoth是的,分析本质上是观察它的运行,并观察单个行执行的频率。停止分析,创建一个新的分析会话,附加,转到MATLAB并启动MEX文件运行,然后在完成后返回VS并分离。@chappjc对于不是从VS或使用MATLAB中的
MEX
工具生成的MEX文件,该怎么办?那么使用g++和-lmex和-lmx从对象文件编译的呢?当我尝试它时,VS在尝试分析它时将永远挂起。