#matlab #simulink
#matlab #simulink
Вопрос:
Я работаю над существующим проектом в Matlab / Simulink; написан бывшим коллегой. В этом проекте есть десятки переменных и функций, которые читаются / записываются и вызываются соответственно. В попытке немного лучше понять код, я пытаюсь определить, когда определенные переменные вызываются во время выполнения. Есть ли способ инициировать флаг при чтении / записи определенных переменных? Я подумал, что было бы очень полезно инициировать точку останова при чтении / записи переменной.
Комментарии:
1. Переменные не вызываются, они считываются из или записываются в. Вы можете выполнить поиск по использованию имени переменной в вашей функции и установить точки останова в найденных строках. Если вы говорите о глобальных переменных, возможно, вы захотите прекратить их использование именно по этой причине, трудно отследить, где и когда они изменяются.
2. @CrisLuengo Спасибо за разъяснение. К сожалению, я не создавал код; он был передан мне. Тем не менее, я определенно буду осторожен в использовании глобальных переменных. Какой из способов поиска переменных вы рекомендуете? Вы делаете это в Matlab? Если нет, то где вы это делаете? Я спрашиваю, потому что я пытался сделать это с помощью функции поиска Windows, но, похоже, это не сработало.
3. Внутри функции вы просто выполняете поиск с помощью редактора. На самом деле редактор MATLAB очень помогает, выделяя все вхождения имени переменной, на котором находится курсор. С глобальными переменными это сложнее, поэтому их не следует использовать. В Linux или macOS вы можете использовать утилиту командной строки
grep
. Я не знаю хорошего решения для Windows, не использовал его более 10 лет.4. Вот несколько идей, которые вы могли бы попробовать: mathworks.com/matlabcentral/answers / …