2009-07-28 26 views

cevap

6

Bu SABİT değil ama bu kod satırı size satır numarasını verecektir:

trace(">",new Error().getStackTrace().match(/(?<=:)[0-9]*(?=])/g)[0]); 

PS: swf OXMO456 en trick kullanmak için hata ayıklama modunda

+0

vay, bu serin – jedierikb

+0

Çok güzel hile! – HanClinto

+0

Teşekkürler beyler! – OXMO456

2

derlenmiş ise bu sadece çalışacak Bir işlev olarak, yalnızca match sonucunun dizinini kullanın (dizin 0 yerine). Aşağıdaki kod ayıklama yeteneği, bu ve kontrolleri yapar:

import flash.system.Capabilities; 

/** 
* Returns the positive line number from which the function is called, if 
* available, otherwise returns a negative number. 
*/ 
function lineNumber():int { 
    var ret:int = -1; 
    if (Capabilities.isDebugger) { 
    ret = new Error().getStackTrace().match(/(?<=:)[0-9]*(?=])/g)[1]; 
    } 
    return ret; 
} 

Örnek:

trace('line ' + lineNumber() + ' reached!');