我試圖瞭解由google chrome工具生成的堆轉儲的內容。我知道已經有一個瀏覽器內堆轉儲檢查器,但我有興趣編寫一個CLI來解析JS堆轉儲。我無法找到關於堆轉儲內容結構的任何文檔。他們是人類可讀的,但格式不是很清楚,從檢查文件V8 Javascript堆轉儲架構
這裏有一個隨機片段:
"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",
對鉻堆轉儲存在結構待辦事項文檔?有沒有標準的JavaScript堆轉儲格式或每個引擎都有自己的專有標準?
不幸的是,沒有像標準JS堆格式那樣的東西。快速搜索「v8堆轉儲格式」可以得出幾個結果,但沒有一個超級詳細。有node.js擴展名:https://www.npmjs.com/package/heapsnapshot-parser,以及v8源代碼包含最新的信息:https://github.com/v8/v8/blob/ master/include/v8-profiler.h – smirnoff
謝謝,我在發帖後意識到源代碼是一個選項。我是新來的項目,欣賞鏈接。 – Schneems