GNU®调试器gdb,在Linux上可用®提供了完整的源代码调试功能,包括设置断点、检查变量和逐行检查源代码的能力。
在这个程序中,MATLAB®命令提示符>>
显示在MATLAB命令前面,并且linux >
表示Linux提示符;您的系统可能会显示不同的提示符。调试器提示符为< gdb >
.
这个示例显示了调试的一般步骤yprime.c
,在MATLAB中找到fullfile (matlabroot“外来的”,“例子”,“墨西哥人”)
文件夹中。
使用gdb调试:
函数编译源MEX文件- g
选项,它构建包含调试符号的文件。对于这个例子,在Linux提示符下,输入:
Linux > mex -g yprime.c
在Linux提示符下,使用matlab
函数- d
选择。
linux > matlab -Dgdb
告诉gdb停止调试。
handle SIGSEGV SIGBUS nostop noprint handle SIGUSR1 stop print
启动MATLAB而不使用Java®的虚拟机(JVM™)-nojvm
启动标志。
< gdb > -nojvm运行
在MATLAB中,使用dbmex
函数并运行二进制MEX文件。
>> dbmex on >> yprime(1,1:4)
您已经准备好开始调试。
设置断点通常很方便mexFunction
所以你在入门程序的开始就停止了。
break mexFunction r
一旦达到某个断点,就可以充分利用调试器提供的任何命令来检查变量、显示内存或检查寄存器。
要从断点继续,输入:
< gdb >继续
在最后一个断点处停止后,键入:
< gdb >继续
yprime
完成,MATLAB显示:
Ans = 2.0000 8.9685 4.0000 -1.0947
在MATLAB提示符中,你可以输入以下命令将控制返回到调试器:
> > dbmex停止
或者,如果你已经运行MATLAB,键入:
> >退出
当你完成调试器时,键入:
< gdb >退出
您返回到Linux提示符。
有关调试器使用的更多信息,请参阅调试器附带的文档。