Difference between revisions of "DbgEvalObjectsNumber"
m (1 revision imported) |
|
(No difference)
| |
Latest revision as of 07:43, 7 February 2021
| DbgEvalObjectsNumber (Функции отладки) | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
Отладочная функция получает количество объектов в стеке исполнения текущего потока. Объекты стека исполнения -- особая совокупность объектов для оптимизации исполнения математических выражений, простые объекты уникальны для стека исполнения, записи в стеке исполнения для сложных объектов являются ссылками на реальные объекты из стека объектов (DbgObjectsNumber). Оптимизация достигается увеличением скорости выделения памяти под новые объекты. Стек исполнения заполняется по мере вычисления какого-либо выражения и будет обнулен в момент, когда вычисления будут окончены.
Синтаксис
dbgEvalObjectsNumber():<Количество объектов в стеке исполнения (INT)>
Возвращаемое значение
Возвращает целое число -- количество объектов из стека исполнения.
Примеры
Function Func()
Exit DbgEvalObjectsNumber();
EndFunction
//Выводит число 0 (вычислений не производится)
Message(DbgEvalObjectsNumber());
//Выводит 9 (в момент вызова функции, исполнение основного выражения еще не завершилось).
Message(1+2*Func());
//Выводит 1 (в момент вызова функции, исполнение основного выражения только начиналось, в стек был помещен один объект).
Message(Func()+1);