Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если заданный кадр стека является точкой перехода, определяемой методом IsTransition (см. документацию по определению точек перехода), метод GetTransition возвращает сведения о переходе. В частности, этот метод возвращает предыдущий скрипт — тот, который вызвал скрипт, представленный сегментом стека, содержащим этот IDataModelScriptDebugStackFrame.
Помимо возврата интерфейса IDataModelScript для предыдущего скрипта, этот вызов, как ожидается, попытается определить, является ли переход непрерывным или нет. Непрерывный переход — это один сценарий или поставщик, непосредственно называемый другим (игнорируя любой код прокси-сервера или заглушки, чтобы упростить обмен данными между контекстами скриптов). Непрерывный переход — это один из тех случаев, когда существует промежуточный код — собственный или другой скрипт или поставщик, между которыми невозможно обнаружить.
Пример непрерывного стека перехода (где все свойства являются расширениями в одном объекте):
- [Script1] get firstProperty() { return 42; }
- (Маршалинг или заглушки кода для перехода с Script2 на Script1)
- [Script2] get secondProperty() { return this.firstProperty(); }
Пример несвязанного стека перехода (где все свойства являются расширениями в одном объекте), где мы представляем два разных поставщика скриптов — один JavaScript и один Python:
- (JavaScript) [Script1] get firstProperty() { return 42; }
- (Код маршалинга или прокси-сервера или заглушки для перехода с ПромежуточногоScript на Script1)
- (Python) [IntermediateScript get intermediateProperty() { return this.firstProperty; }
- (Код маршалинга или прокси-сервера или заглушки для перехода с Script2 на IntermediateScript
- (JavaScript) [Script2] get secondProperty() { return this.intermediateProperty; }
Во втором случае отладчик JavaScript может увидеть firstProperty и получить secondProperty без видимости получить промежуточныйproperty, так как это совершенно другой поставщик скриптов (воображаемой Python один здесь). Отладчик скрипта может указывать в методе GetTransition, что переход был с Script1 на Script2 как неконтигурный переход.
Если общий интерфейс отладки способен объединять сведения для воображаемой части Python, это произойдет. Предположим, что поставщик JavaScript просто указывает на прерывность.
Синтаксис
HRESULT GetTransition(
IDataModelScript **transitionScript,
bool *isTransitionContiguous
);
Параметры
transitionScript
Отладчик возвращает предыдущий скрипт здесь. Предыдущий скрипт — это тот, который вызывается в скрипт, представленный сегментом стека, содержащим этот IDataModelStackDebugFrame.
isTransitionContiguous
Указывает, является ли переход непрерывным или не возвращается здесь.
Возвращаемое значение
Этот метод возвращает HRESULT, указывающий на успешность или сбой.
Требования
Требование | Ценность |
---|---|
заголовка | dbgmodel.h |