在here中解释了如何在visual studio中分析.exe文件。有没有办法使用相同的程序分析mex代码?
感谢。
答案 0 :(得分:8)
你确定可以。只需在构建MEX文件时生成调试信息(符号),并从Visual Studio的Analyze-> Profile菜单中附加到MATLAB.exe。
它与使用Visual Studio调试MEX文件的过程几乎相同。如果使用VS项目(而不是mex
命令)构建MEX文件,则该过程非常简单,在这种情况下,您只需在项目中启用分析信息(Linker-Advanced-Profile属性),构建,然后从Analyze-> Profiler->附加/分离...菜单项附加到MATLAB.exe。
如果您使用MATLAB中的mex
进行构建,则需要启用包含符号信息的MEX文件,并启用优化:
mex -g -O -largeArrayDims myMEX.cpp
我通常从VS项目而不是mex
构建MEX文件,因此我无法说明后一种选项的效果如何,但-O
switch的文档表明您可以拥有同时优化和符号信息生成。 编辑:可能还需要编辑mexopts.bat并添加/DEBUG /PROFILE
(不会禁用编译器优化!)到LINKFLAGS
。这也可以让您省略-g
中的mex
,但我不能说。
编辑2 :从R2014a开始,不再使用.bat文件管理MEX选项。相反,请查找类似C:\Users\Jon\AppData\Roaming\MathWorks\MATLAB\R2014a\mex_C_win64.xml
。