主要内容

在调试Linux平台

GNU®调试器gdb,在Linux上可用®提供了完整的源代码调试功能,包括设置断点、检查变量和逐行检查源代码的能力。

在这个程序中,MATLAB®命令提示符>>显示在MATLAB命令前面,并且linux >表示Linux提示符;您的系统可能会显示不同的提示符。调试器提示符为< gdb >

这个示例显示了调试的一般步骤yprime.c,在MATLAB中找到fullfile (matlabroot“外来的”,“例子”,“墨西哥人”)文件夹中。

使用gdb调试:

  1. 函数编译源MEX文件- g选项,它构建包含调试符号的文件。对于这个例子,在Linux提示符下,输入:

    Linux > mex -g yprime.c
  2. 在Linux提示符下,使用matlab函数- d选择。

    linux > matlab -Dgdb
  3. 告诉gdb停止调试。

     handle SIGSEGV SIGBUS nostop noprint  handle SIGUSR1 stop print
  4. 启动MATLAB而不使用Java®的虚拟机(JVM™)-nojvm启动标志。

    < gdb > -nojvm运行
  5. 在MATLAB中,使用dbmex函数并运行二进制MEX文件。

    >> dbmex on >> yprime(1,1:4)
  6. 您已经准备好开始调试。

    设置断点通常很方便mexFunction所以你在入门程序的开始就停止了。

     break mexFunction  r
  7. 一旦达到某个断点,就可以充分利用调试器提供的任何命令来检查变量、显示内存或检查寄存器。

    要从断点继续,输入:

    < gdb >继续
  8. 在最后一个断点处停止后,键入:

    < gdb >继续

    yprime完成,MATLAB显示:

    Ans = 2.0000 8.9685 4.0000 -1.0947
  9. 在MATLAB提示符中,你可以输入以下命令将控制返回到调试器:

    > > dbmex停止

    或者,如果你已经运行MATLAB,键入:

    > >退出
  10. 当你完成调试器时,键入:

    < gdb >退出

    您返回到Linux提示符。

有关调试器使用的更多信息,请参阅调试器附带的文档。

另请参阅