Próbuję zrozumieć zawartość sterty wygenerowanej przez narzędzia Google Chrome. Rozumiem, że istnieje już inspektor zrzutu sterty w przeglądarce, ale jestem zainteresowany pisaniem interfejsu CLI, który analizuje zrzut sterty JS jako ćwiczenie. Nie mogę znaleźć żadnych dokumentów dotyczących struktury zawartości wewnątrz zrzutu sterty. Są czytelnej ale format nie jest bardzo jasne z inspekcji plikSchemat sterty zrzutów V8 JavaScript
Oto losowo fragment:
"HTMLOptionElement",
"XMLHttpRequestEventTarget",
"about:blank",
"clearModifier",
"resetModifiers",
"/devtools/docs/demos/memory/example1",
"HTMLIFrameElement",
"https://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22search%22%2C%22version%22%3A%221.0%22%2C%22callback%22%3A%22__gcse.scb%22%2C%22style%22%3A%22https%3A%2F%2Fwww.google.com%2Fcse%2Fstyle%2Flook%2Fv2%2Fdefault.css%22%2C%22language%22%3A%22en%22%7D%5D%7D",
"HTMLLinkElement",
"HTMLContentElement",
"window.__SSR = {c: 1.2808007E7 ,si:1,su:1,e:'[email protected]',dn:'Richard Schneeman',a:'bubble',at:'AZW7SXV+1uUcQX+2WIzyelLB5UgBepsr1\\/RV+URJxwIT6BmLmrrThMH0ckzB7mLeFn1SFRtxm\\/1SD16uNnjb0qZxXct8\\x3d',ld:[,[0,12808007,[]\n,1,70]\n]\n,r:'https:\\/\\/developer.chrome.com\\/devtools\\/docs\\/demos\\/memory\\/example1',s:'widget',annd: 2.0 ,bp: {}, id:'http:\\/\\/www.google.com\\/chrome'}; document.addEventListener && document.addEventListener('DOMContentLoaded', function() {gapi.inline.tick('wdc', new Date().getTime());}, false);",
"onLoaded",
"HTMLAllCollection",
"onDocumentKeyDown",
zrobić docs dotyczące struktury chromu istnieje wysypisk kupie? Czy istnieje standardowy zrzut zrzutów sterty javascript, czy też każdy silnik ma swój własny prawny standard?
Niestety nie ma czegoś takiego jak standardowy format sterty JS. Szybkie wyszukiwanie go dla "formatu zrzutu sterty v8" daje kilka wyników, żaden z nich nie jest bardzo szczegółowy. Jest rozszerzenie node.js: https://www.npmjs.com/package/heapsnapshot-parser, a kod źródłowy v8 zawiera najbardziej aktualne informacje: https://github.com/v8/v8/blob/ master/include/v8-profiler.h – smirnoff
Dzięki, zdałem sobie sprawę po opublikowaniu, że patrząc na źródło była opcja. Jestem nowy w projekcie, doceniam linki. – Schneems