Visual Studio 2010 - 内存窗口 - 编辑值

时间:2012-11-06 20:51:49

标签: visual-studio-2010 debugging assembly

我试着查看MSDN,Google和Stack Overflow,但我无法找到我正在寻找的答案。

有没有办法通过内存窗口编辑给定地址的代码?我使用反汇编窗口来获取我想要覆盖的指令的地址,在内存窗口中找到它,但“编辑值”显示为灰色。有什么理由吗?是因为我的代码被缓存而VS阻止我编辑它?有没有办法通过项目设置来改变它?

谢谢

1 个答案:

答案 0 :(得分:2)

应用程序由数据部分和代码的可执行部分组成。 Windows默认禁止对可执行部分进行更改,但可以使用VirtualProtect函数更改此代码(也请注意备注和FlushInstructionCache)。

也许你的最终目标不是从调试器中改变一些代码,而是可以以不同方式实现的其他东西。你真的想要什么?