【问题标题】:How to get environment variables from minidump?如何从 minidump 中获取环境变量?
【发布时间】:2015-11-22 12:46:25
【问题描述】:

我有一个使用procdump -ma 创建的小型转储(故障转储)。我可以在 VS2013 和 WinDbg 上打开它,但是我需要知道哪些环境变量被发送到该进程。有没有办法在不编写内存解析器的情况下做到这一点?

【问题讨论】:

    标签: .net windows visual-studio visual-studio-2013 crash-dumps


    【解决方案1】:

    假设您有正确的符号,windbg 中的!peb 应该可以满足您的需求。

    【讨论】:

      【解决方案2】:

      Visual Studio 2015 社区版中,

      1. 通过File | Open | File ...打开转储
      2. 播放按钮开始调试
      3. Debug | Windows | Memory打开内存窗口
      4. 输入$env 作为地址。
      5. 打开内存窗口的上下文菜单
        • 选择No data
        • 选择Unicode text

      不幸的是,换行符(实际上是'\0' / 0x00)不可能以这种方式正确显示。

      WinDbg 中,正如另一个答案中已经提到的,使用 .symfix c:\symbols; .reload; !peb

      【讨论】:

      【解决方案3】:

      这适用于 Visual Studio 2017:

      1. 转到观察窗口
      2. 输入“$env”
      3. 按右侧的?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-30
        • 2013-12-04
        相关资源
        最近更新 更多