exponenta event banner

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

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

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

В этом примере показаны общие шаги отладки yprime.c, находится в MATLAB fullfile(matlabroot,'extern','examples','mex') папка.

Отладка с помощью 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.

Дополнительные сведения об использовании отладчика см. в документации отладчика.

См. также