DbgEvalObjectsNumber
| DbgEvalObjectsNumber (Функции отладки) | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
Отладочная функция получает количество объектов в стеке исполнения текущего потока. Объекты стека исполнения -- особая совокупность объектов для оптимизации исполнения математических выражений, простые объекты уникальны для стека исполнения, записи в стеке исполнения для сложных объектов являются ссылками на реальные объекты из стека объектов (DbgObjectsNumber). Оптимизация достигается увеличением скорости выделения памяти под новые объекты. Стек исполнения заполняется по мере вычисления какого-либо выражения и будет обнулен в момент, когда вычисления будут окончены.
Синтаксис
dbgEvalObjectsNumber():<Количество объектов в стеке исполнения (INT)>
Возвращаемое значение
Возвращает целое число -- количество объектов из стека исполнения.
Примеры
Function Func()
Exit DbgEvalObjectsNumber();
EndFunction
//Выводит число 0 (вычислений не производится)
Message(DbgEvalObjectsNumber());
//Выводит 9 (в момент вызова функции, исполнение основного выражения еще не завершилось).
Message(1+2*Func());
//Выводит 1 (в момент вызова функции, исполнение основного выражения только начиналось, в стек был помещен один объект).
Message(Func()+1);