【问题标题】:Windbg, how to show more code?Windbg,如何显示更多代码?
【发布时间】:2013-06-03 03:40:55
【问题描述】:

我是使用windbg 的新手,我通常使用ollydbg 等调试器或ida pro 等反汇编程序。但是,我想调试 64 位汇编代码。

在ollydbg和ida pro的界面中,会显示几条指令是一次,即

push esi
push ecx
mov esi, [esp + 0Ch]
xor ecx, ecx
sub eax, 2
@@:
    add ecx, 2
    mov word ax, [esi + ecx]
    test ax, ax
    jnz @b
mov eax, ecx
pop ecx
pop esi
retn 4

然而,windbg 的问题是,当我在 $exentry 上设置断点并开始调试它时,它一次只会显示一条指令。

推送esi

然后我会跨过它,它会显示出来

推送 ecx

有什么方法可以让它有一个类似 ollydbg 的界面,这样它就可以真正显示所有代码并让我跳过它,也许还有某种语法高亮显示?

如果不这样做,是否有任何调试器可以调试具有类似 ollydbg 接口的 64 位应用程序?

【问题讨论】:

    标签: debugging windbg


    【解决方案1】:

    您有以下选择:

    1. 如果您使用的是命令控制台,请使用u(反汇编)命令。它接受论点。 u . 将从当前 EIP 打印。 u 将继续列出。 uf 将反汇编一个函数,u . l300 将从当前的 EIP 300 汇编指令中反汇编。等等

    2. 可以打开反汇编窗口(查看->反汇编)。

    顺便说一句,您还可以使用 Visual Studio 查看汇编说明。

    【讨论】:

      【解决方案2】:

      你可以使用反汇编窗口一次看到几个指令,你可以像这样打开它:查看 |拆解

      【讨论】:

        【解决方案3】:

        如果由于某种原因你觉得使用反汇编窗口很烦人,但仍想在两边看到一些命令,你可以试试这个方法

        首先执行ub eip l4;u eip l4;p;r 然后单步按回车键而不是使用 p

        上面的命令会显示eip之前的4条指令和eip之后的4条指令

        使用enter repeats the earlier command

        【讨论】:

          猜你喜欢
          • 2015-10-13
          • 2011-09-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-17
          • 2016-09-06
          • 2011-08-30
          相关资源
          最近更新 更多