Dobrý den, mám takový dotaz ohledně webové konzole prohlížečů, chci debuggovat určitý skript. Cílem pozornosti je například funkce console.log(něco) nebo odeslání XMLHTTP -- chromium krásně zobrazí při najetí myši callstack (pokud je to doprasané jqury nebo nějaký hypermoderním react frameworkem, tak to je hluboké jak WTC a spodivnými názvy ajko dispatch, async promise apod....)
O co mi jde: v konzoli tedy vidím call stack kde bude po řad+ funkce send(), ,d(),a() a ukazuje mi to i na řádky příslušných definic funkcí.
Můžu si klidně na ty funkce nastavit breakpointy a reloadnout stránku. Ale bude mě to zdržovat, že to třeba bude krokovat na funkci send v dalších 10 jiných případech, než zajímá mě... Proto chci na to jinak jít
Je tedy možné nějak nastavit breakpoint ně konkrétní místo v programu, s tím, že se breakne ještě předtím, než se do funkce vstoupí? Proto v nadpisu je "proti směru call stacku". Například abych dosledovat vznik proměnné stringu url. Klasický debugger má step over, into, out.
Nic z toho mi nepomůže, potřebuji, aby debugger nějak sám poznal, jakou cestou došel program do daného místa (které bych si označil breakpointem, pokud by to šlo, a nebo by ho stačilo jen najít v console.log nebo Network - po najetí myší, když tam je vidět call stack.) Samozřejmě by asi bylo nutné určit nějaké meze, aby to nekrokovalo od nějakého úplného začátku nebo to přeskakovalo nějaké funkce (když mě nezajímá vnitřek jquery.js)...
var hash="blabla";
function b(param){
return c(param)+"hash";
}
function c(t1){
return t1.replace(/pí/g, "3.141");
}
function a (t){
url= "/bla?q=b("ahoj"+t)+t;
return d(url)
}
function d(x){
request.send("/bla?q="+encodeURI(url));
return true;
}
a("počátek");