debugging - 从转储文件中提取 unicode 文本

标签 debugging windbg

我有一个程序卡住(特别是 sql 开发人员),其中有一些未保存的文件。我使用 sysinternal 的进程资源管理器在终止进程之前创建一个转储文件。我真的只损失了几个小时的工作,但我认为看看我可以从转储文件中提取什么是一个很好的学习经验。到目前为止,我已经下载并运行了 windbg 并找到了我的文字:

s -u 0x00000000 L?0xffffffff "text I know exists in my file"

从那里我得到了相关的内存地址,并且可以查看内存窗口中的文本以及大部分文件。但是,从这里我有点卡住了。我知道我可以使用 du 命令来转储文本,但是我应该使用什么样的策略来确定开始和结束范围。这是一个 1 Gig 转储,所以我永远不会将 0x00000000 转储到 0xffffffff,因为我没有大多数编辑器可以打开的文本文件。有没有办法只转储用户内存或非代码内存等?无论如何,它不必是完美的。我很满意只是在 textpad 中打开转储文件,但没有显示 unicode 数据,只有 occational ascii(大概是因为 textpad 无法检测类型或因为它是 64 位转储)。

最佳答案

您还可以尝试使用 sysinternals(现在是 MS)的 strings.exe 实用程序,然后将所有输出(unicode 和 ascii)重定向到文本文件。然后搜索文本文件(或只是注视它)以查找您要查找的内容。

关于debugging - 从转储文件中提取 unicode 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13502182/

相关文章:

eclipse - 在 Debug模式下启动tomcat 6?

java - 通过在eclipse中设置断点来调试ServletContextListener.contextDestroyed()

c++ - 什么时候除以零而不是除以零?调试器中的一个谜题(静态变量问题)

windows - *** 错误 : Symbol file could not be found. 默认导出 ntkrnlmp.exe 的符号

c++ - 与 replaceChild 相关的内存泄漏

javascript - Chrome 的 Firebug

macos - 使用 lldb/Xcode 进行远程调试

process - 将 WinDbg 附加到进程

debugging - 创建内存.dmp 文件后是否可以调整大小?

python - 如何使用 PYKD 读取堆