Javascript字符串是如何在Chrome中编码的?

Javascript字符串是如何在Chrome中编码的?,javascript,memory,google-chrome,windbg,Javascript,Memory,Google Chrome,Windbg,我正在通过WinDbg分析Chrome的内存地址空间。 与其他进程一样,我需要提取内存中当前分配的所有字符串 为此,我使用WinDbg作为非侵入性调试器和命令 s -u 0x0 L?0xffffffff "string" 如果是unicode,以及 s -a 0x0 L?0xffffffff "string" 如果是asci 但是,我似乎错过了所有分配为javascript字符串对象的字符串。这让我觉得V8(chrome引擎)中的编码不同,因此我的搜索字符串的字节表示也不同 你知道它是怎么工

我正在通过WinDbg分析Chrome的内存地址空间。 与其他进程一样,我需要提取内存中当前分配的所有字符串

为此,我使用WinDbg作为非侵入性调试器和命令

s -u 0x0 L?0xffffffff "string"
如果是unicode,以及

s -a 0x0 L?0xffffffff "string"
如果是asci

但是,我似乎错过了所有分配为javascript字符串对象的字符串。这让我觉得V8(chrome引擎)中的编码不同,因此我的搜索字符串的字节表示也不同


你知道它是怎么工作的吗?我已经潜入V8文档中了一段时间,但至今没有任何结果:(

字符串中的V8字符串并不总是存储为一个字符序列,它们也可以被存储为CasSnpe,Lisp样。您可以检查使用的实际C++结构。

这是一个完全的猜测(这不是我的专业领域)。,但Chrome不是专门为每个页面的js运行时生成单独的进程吗?也就是说,字符串可能会显示在Chrome生成的进程的内存中,而不是Chrome本身,但我同时检查了它的所有进程:)