主要内容

在调试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. 在不使用Java的情况下启动MATLAB®虚拟机(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.000 8.9685 4.0000 -1.0947
  9. 在MATLAB提示符中,你可以通过输入:

    > > dbmex停止

    或者,如果你已经完成了MATLAB的运行,输入:

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

    < gdb >退出

    返回到Linux提示符。

有关其使用的更多信息,请参阅与调试器一起提供的文档。

另请参阅