Используйте команду «expression» в отладчике. Используя это относительно просто. Просто введите выражение команды и нажмите ввод. Вам будет предложено ввести выражение. Вот пример
(lldb) expression
Enter expressions, then terminate with an empty line to evaluate:
2+2
(int) $2 = 4
Я также приложил справочную информацию для команды выражения ниже. Надеюсь, это поможет.
Оценка выражения C / ObjC / C ++ в контексте текущей программы с использованием пользователя
определенные переменные и переменные в настоящее время в области. Эта команда принимает
«необработанный» ввод (не нужно ничего цитировать).
Синтаксис: выражение -
Параметры команды Использование:
выражение [-f] [-G] [-a] [-d] [-t] [-u] -
выражение [-o] [-a] [-d] [-t] [-u] -
выражение
-G <gdb-format> ( --gdb-format <gdb-format> )
Specify a format using a GDB format specifier string.
-a <boolean> ( --all-threads <boolean> )
Should we run all threads if the execution doesn't complete on one
thread.
-d <boolean> ( --dynamic-value <boolean> )
Upcast the value resulting from the expression to its dynamic type
if available.
-f <format> ( --format <format> )
Specify a format to be used for display.
-o ( --object-description )
Print the object description of the value resulting from the
expression.
-t <unsigned-integer> ( --timeout <unsigned-integer> )
Timeout value for running the expression.
-u <boolean> ( --unwind-on-error <boolean> )
Clean up program state if the expression causes a crash, breakpoint
hit or signal.
Таймауты:
Если выражение может быть оценено статически (без выполнения кода), то оно будет.
В противном случае по умолчанию выражение будет выполняться в текущем потоке с коротким таймаутом:
в настоящее время 0,25 секунды. Если он не вернется в это время, оценка будет прервана
и возобновил со всеми работающими потоками. Вы можете использовать опцию -a, чтобы отключить повторную попытку на всех
потоки. Вы можете использовать опцию -t, чтобы установить более короткое время ожидания.
Пользовательские переменные:
Вы можете определить свои собственные переменные для удобства или для использования в последующих выражениях.
Вы определяете их так же, как определяете переменные в C. Если первый символ
ваша пользовательская переменная $, тогда значение переменной будет доступно в будущем
выражений, в противном случае оно будет просто доступно в текущем выражении.
Примеры:
expr my_struct->a = my_array[3]
expr -f bin -- (index * 8) + 5
expr unsigned int $foo = 5
expr char c[] = "foo"; c[0]
ВАЖНОЕ ПРИМЕЧАНИЕ: поскольку эта команда принимает необработанный ввод, если вы используете какой-либо
параметры команды, которые вы должны использовать '-' между окончанием параметров команды
и начало необработанного ввода.