我正在尝试从从Eclipse的DDMS抓取的Android应用程序的堆转储中查找字符串。我使用SDK的hprof-conv转换了该文件。现在,如果我在Eclipse MemoryAnalyzer中打开该文件,它会给出堆中的字符串列表,这太棒了!我找到了我需要的东西。但是,我正在尝试编写一个脚本,该脚本将从堆转储中获取我要查找的字符串。我遇到的问题是,当我在转储上运行Strings或通过十六进制编辑器运行转储时,我看不到这个字符串。我不明白MemoryAnalyzer是从哪里得到我要找的字符串的。有人知道这是怎么回事吗?谢谢。
发布于 2013-04-18 13:53:53
Java在内部对字符串使用UTF-16字符编码。因此,如果在转储上使用十六进制编辑器,则可能需要在该编码中搜索搜索词。
https://stackoverflow.com/questions/16067205
复制相似问题