我有一個與調試.mex32/.mex64文件相關的問題。現在假設我有一個名爲TEST.CPP文件:如何使用Visual Studio 2010調試MATLAB .mex32/.mex64文件
#include "mex.h"
#include <iostream>
void mexFunction(int nlhs, mxArray *plhs[],
int nrhs, const mxArray *prhs[])
{
mexPrintf("Hello Matlab, and this is a test program\n");
}
然後我就可以編譯和MATLAB與Visual Studio 2010.Then建立test.mex64
,我可以寫下面的腳本來測試功能:
clc;
test;
現在假設我想調試test.mex64函數,該怎麼辦?已採用以下程序,但失敗:
- 使用VS2010在行
mexPrintf
的行尾切換中斷點。 - 使用VS2010從Debug-> Attach to Process ...選擇MATLAB.exe。
- 運行MATLAB腳本
clc; test;
我已經得到該錯誤消息如下:
The breakpoint will not currently be hit. No symbols have been loaded for this document.
你可能想看看[這個問題](http://stackoverflow.com/questions/11220250/how-do-i-profile-a-mex-function-in-matlab/12405131#12405131)。它涉及在Linux上分析mex,但在Windows上應該使用類似的想法。無可否認,性能分析有點不同,但你可以從那裏開始。 – angainor