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
在不使用Java的情况下启动MATLAB®虚拟机(JVM™)-nojvm
启动标志。
< gdb > -nojvm运行
在MATLAB中,使用dbmex
函数并运行二进制MEX文件。
>> dbmex on >> yprime(1,1:4)
现在可以开始调试了。
在以下位置设置断点通常很方便mexFunction
所以你在入口程序的开始处停止。
break mexFunction r
一旦遇到一个断点,就可以充分利用调试器提供的任何命令来检查变量、显示内存或检查寄存器。
要从断点开始,输入:
< gdb >继续
在最后一个断点停止后,输入:
< gdb >继续
yprime
完成和MATLAB显示:
Ans = 2.000 8.9685 4.0000 -1.0947
在MATLAB提示符中,你可以通过输入:
> > dbmex停止
或者,如果你已经完成了MATLAB的运行,输入:
> >退出
当你完成调试器时,输入:
< gdb >退出
返回到Linux提示符。
有关其使用的更多信息,请参阅与调试器一起提供的文档。