GNU® Отладчик 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.
Для получения дополнительной информации об использовании отладчика см. документацию.