MEX文件调试

与其他语言编程一样,用户编写的MEX文件很难保证一次成功,往往需要进行大量的调试工作。MATLAB提供了不同操作系统下调试MEX文件的方法。签于Visual C++ 的强大调试功能及其对C程序的兼容性,本节以“H1.c”为例,简要介绍Microsoft Visual Studio 6下MEX文件的调试方法。

“h1.c”文件的调试步骤为:

(1)在MATLAB命令窗口中,以-g选项编译所调试文件,MATLAB自动为所生成的MEX文件添加必要的调试信息;

code.matlab
>>mex –g h1.c

(2)在Windows命令行(开始->运行)输入“msdev D:\MATLAB_C\mex\h1.dll”,windows启动Microsoft Visual Studio 6并打开了h1.c文件,其中“D:\MATLAB_C\mex\h1.dll”为本机“h1.c”文件存储目录;

(3)打开Project->Settings…设置框,在“Settings For Debug”对话框中,将“Executable for debug session”设为“C:\MATLAB7\bin\win32\MATLAB.exe”,其中“C:\MATLAB7”为本机MATLAB安装目录(图2-2)。

Document Image

图2-2 MEX文件调试属性设置

(4)在Microsoft Visual Studio 6打开的“h1.c”中,将光标移至需检查行上,设置断点、执行调试(图2-3)。当用户按下调试按钮后,Microsoft Visual Studio 6启动MATLAB,用户需在MATLAB命令窗口中调用“h1.dll”,MEX执行至用户所设断点时,流程停止于Microsoft Visual Studio 6的“h1.c”断点处,用户再次按下调试按钮后,流程继续执行并停止于下一断点,如此循环,直至所有断点完毕。

Document Image

图2-3 Microsoft Visual Studio 6调试菜单