GNU ® Debugger gdb, доступный в системах Linux ®, обеспечивает полную отладку исходного кода, включая возможность установки точек останова, проверки переменных и пошагового перехода к исходному коду.
В этой процедуре в командной строке MATLAB ®>> отображается перед командами MATLAB, и linux> представляет запрос Linux; в системе может отображаться другая подсказка. Запрос отладчика: <gdb>.
В этом примере показаны общие шаги отладки yprime.c, находится в MATLAB fullfile(matlabroot,'extern','examples','mex') папка.
Отладка с помощью gdb:
Скомпилировать исходный файл MEX с помощью -g , который создает файл с включенными символами отладки. В этом примере в приглашении Linux введите:
linux> mex -g yprime.c
По запросу Linux запустите отладчик gdb с помощью matlab функция -D вариант.
linux> matlab -Dgdb
Попросите gdb остановиться для отладки.
<gdb> handle SIGSEGV SIGBUS nostop noprint <gdb> handle SIGUSR1 stop print
Запустите MATLAB без виртуальной машины Java ® (JVM™) с помощью -nojvm флаг запуска.
<gdb> run -nojvm
В MATLAB включите отладку с помощью dbmex и запустите двоичный файл MEX.
>> dbmex on >> yprime(1,1:4)
Вы готовы начать отладку.
Часто удобно устанавливать точку останова в mexFunction поэтому остановитесь в начале процедуры шлюза.
<gdb> break mexFunction <gdb> r
После достижения одной из точек останова можно полностью использовать команды отладчика для проверки переменных, памяти или регистров.
Чтобы перейти из точки останова, введите:
<gdb> continue
После остановки в последней точке останова введите:
<gdb> continue
yprime отделка и отображение MATLAB:
ans =
2.0000 8.9685 4.0000 -1.0947
В подсказке MATLAB можно вернуть управление отладчику, введя:
>> dbmex stop
Если запуск MATLAB завершен, введите:
>> quit
По завершении работы с отладчиком введите:
<gdb> quit
Вернитесь к подсказке Linux.
Дополнительные сведения об использовании отладчика см. в документации отладчика.