单步调试每个语句时在Visual Studio中编辑汇编语言代码

时间:2013-03-21 19:20:27

标签: visual-studio-2010 assembly x86 livecoding

在Visual Studio中,是否可以在逐步执行每个语句时编辑汇编语言代码(以便在程序运行时可以修改程序中的语句?)在程序中修改程序中的语句会很有用正在运行(出于调试目的),但我不确定这是否可行。

1 个答案:

答案 0 :(得分:1)

您可以修改源代码,但在调试会话期间不会重新组装以生成新的二进制文件。调试器将告诉您“源不再与代码匹配”,但您仍然可以步骤。您的显示可能会令人困惑,因为源代码不再与目标代码匹配: - }我经常在说明或空行中添加注释,这会让我抱怨,但您仍然可以单步查看正确的来源在这种特殊情况下的行。

我认为您可以手动修改包含要修补的指令的内存。我从来没有打扰过这个;我更容易设置断点,重新组装,然后运行到断点。

您可以非常轻松地修改所有寄存器和数据存储器(实际上您必须使用它来修改代码存储器,我想!)。

一个非常有用的事情是“设置下一个语句”将PC设置回代码中较早的位置;如果寄存器和内存没有改变,你通常可以前进到失败点。 (将光标放在源或反汇编窗口中,单击一行,然后右键单击“设置下一个语句”)