Если под окном вывода трассировки вы имеете в виду окно, которое появляется при возникновении ошибки (в отличие от окна трассировки в IDE Flash, Flash Builder и т. Д.), Существует несколько хакерский обходной путь. По сути, вам нужно отложить вызов до throw
, чтобы он выполнялся в своем собственном стеке.
Что-то вроде этого должно сделать это:
public static function throwLater(error:Error):void
{
setTimeout(function():void {
throw error;
},30);
}
Конечно, вы должны передать ошибку этой функции, а не выдавать ее напрямую.
Если вы просто хотите получить трассировку стека из существующей ошибки, перехватите ее и получите трассировку стека, как показано The_asMan .
try {
thisFunctionMightThrow()
} catch (e:Error) {
trace(e.getStackTrace();
}
Кроме того, если вы просто хотите иметь трассировку стека в какой-то момент (но на самом деле не хотите выдавать ошибку), просто создайте ошибку и вызовите getStackTrace
, не выбрасывая. В этом случае вам не нужен улов.
var error:Error = new Error();
trace(e.getStackTrace());