Этот пример показывает, как отладить yprime.c
, найденный в вашей папке
, с Microsoft® Visual Studio® 2012. Если вы используете различную версию, обратитесь к соответствующей документации Microsoft.matlabroot/extern/examples/mex/
Убедитесь, что Visual Studio является ваш выбранный компилятор C:
cc = mex.getCompilerConfigurations('C','Selected'); cc.Name
ans = Microsoft Visual C++ 2012 (C)
Скомпилируйте исходный файл MEX с опцией -g
, которая создает файл с включенной отладочной информацией. Например:
copyfile(fullfile(matlabroot,'extern','examples','mex','yprime.c'),'.','f') mex -g yprime.c
Запустите Visual Studio. Не выходите из своего сеанса MATLAB®.
Из меню Visual Studio Tools выберите Attach to Process
В диалоговом окне Attach to Process выберите процесс MATLAB и нажмите Attach.
Visual Studio загружает данные, затем отображает пустую панель кода.
Откройте исходный файл yprime.c
путем выбора File> Open> File. Найдите yprime.c
в папке, c:\work
.
Установите точку останова путем щелчка правой кнопкой по желаемой строке кода и после Breakpoint> Insert Breakpoint в контекстном меню. Часто удобно установить точку останова в mexFunction
останавливаться в начале стандартной программы шлюза.
Если вы еще не запустили исполняемый файл, проигнорируйте любой значок “!
”, который появляется с точкой останова рядом со строкой кода.
Если вы поражаете одну из своих точек останова, можно полностью использовать любые команды, которые отладчик обеспечивает, чтобы исследовать переменные, память отображения, или осмотреть регистры.
Откройте MATLAB и тип:
yprime(1,1:4)
yprime.c
открыт в отладчике Visual Studio в первой точке останова.
Если вы выбираете Debug> Continue, отображения MATLAB:
ans = 2.0000 8.9685 4.0000 -1.0947
Для получения дополнительной информации о том, как отладить в среде Visual Studio, см. свою документацию Microsoft.
Бинарные файлы MEX, созданные с опцией -g
, не выполняются на других компьютерах, потому что они полагаются на файлы, которые не распределяются с MATLAB. Для получения дополнительной информации об изоляции проблем с файлами MEX смотрите, Поиск и устранение проблем с файлами MEX.
Не включайте "Нарушение прав доступа" для того, чтобы обработать исключения при отладке файлов MEX. Чтобы постараться не повреждаться при этом исключении, снимите флажок для Win32 Exceptions. Для Visual Studio 2015 ищите флажок в Debug> Windows> Exception Settings.... Если вы используете различную версию Visual Studio, обратитесь к соответствующей документации Microsoft.