Отладка на платформах Linux

GNU® Debugger gdb, доступный в системах Linux®, обеспечивает полную отладку исходного кода, включая способность установить точки останова, исследовать переменные и шаг через исходный код линию за линией.

В этой процедуре командная строка MATLAB® >> показывают перед командами MATLAB, и linux> представляет подсказку Linux; ваша система может показать различную подсказку. Подсказкой отладчика является <gdb>.

Отлаживать с gdb:

  1. Скомпилируйте исходный файл MEX с опцией -g, которая создает файл с включенной отладочной информацией. Для этого примера, в подсказке Linux, введите:

    linux> mex -g yprime.c
  2. В подсказке Linux запустите gdb отладчик с помощью функции matlab опция -D.

    linux> matlab -Dgdb
    
  3. Скажите gdb останавливаться для отладки.

    <gdb> handle SIGSEGV SIGBUS nostop noprint
    <gdb> handle SIGUSR1 stop print
    
  4. Запустите MATLAB без Виртуальной машины Java® (JVM™) при помощи флага запуска -nojvm.

    <gdb> run -nojvm
  5. В MATLAB позвольте отладить с функцией dbmex и запустите свой бинарный файл MEX.

    >> dbmex on
    >> yprime(1,1:4)
  6. Вы готовы начать отлаживать.

    Часто удобно установить точку останова в mexFunction, таким образом, вы останавливаетесь в начале стандартной программы шлюза.

    <gdb> break mexFunction
    <gdb> r
  7. Если вы поражаете одну из своих точек останова, можно полностью использовать любые команды, которые отладчик обеспечивает, чтобы исследовать переменные, память отображения, или осмотреть регистры.

    Чтобы проистечь из точки останова, введите:

    <gdb> continue
  8. После остановки в последней точке останова введите:

    <gdb> continue

    Концы yprime и отображения MATLAB:

    ans =
    
        2.0000    8.9685    4.0000   -1.0947
    
  9. От посдказки MATLAB можно возвратить управление в отладчик путем ввода:

    >> dbmex stop

    Или, если вы закончены рабочий MATLAB, введите:

    >> quit
  10. Когда вы будете закончены с отладчиком, введите:

    <gdb> quit

    Вы возвращаетесь к подсказке Linux.

Обратитесь к документации, которой предоставляют ваш отладчик для получения дополнительной информации о его использовании.

Смотрите также

Была ли эта тема полезной?