Debugging 如何在Visual Studio 2017中更改内存字节? 当我在VisualStudio 2017中调试C++项目时,我试图在内存窗口中更改内存中的字节。内存窗口指向内存中的代码,因为我正在尝试快速修补一段代码(只需要更改参数值),而无需停止并重新编译。 我还注意到,即使对于数据内存,也无法更改内存窗口中的值。 是否有一些隐藏的配置设置允许您这样做。在VS6中可以做到这一点

Debugging 如何在Visual Studio 2017中更改内存字节? 当我在VisualStudio 2017中调试C++项目时,我试图在内存窗口中更改内存中的字节。内存窗口指向内存中的代码,因为我正在尝试快速修补一段代码(只需要更改参数值),而无需停止并重新编译。 我还注意到,即使对于数据内存,也无法更改内存窗口中的值。 是否有一些隐藏的配置设置允许您这样做。在VS6中可以做到这一点,debugging,visual-studio-2017,Debugging,Visual Studio 2017,如何在Visual Studio 2017中更改内存字节 据我所知,Microsoft不支持在最新的Visual Studio(包括VS2017中)中直接更改内存字节,并且没有这样的隐藏选项来实现它 通常在调试过程中,内存窗口显示应用程序正在使用的内存空间。而且内存窗口不限于显示数据。它显示内存空间中的所有内容,包括数据、代码和未分配内存中的随机垃圾位 除了,内存字节还随调试器窗口中变量的值而变化,如监视、自动、局部变量和快速监视对话框。然后分析它在内存使用方面的变化,以改进程序。因为它,我们不

如何在Visual Studio 2017中更改内存字节

据我所知,Microsoft不支持在最新的Visual Studio(包括VS2017中)中直接更改内存字节,并且没有这样的隐藏选项来实现它

通常在调试过程中,内存窗口显示应用程序正在使用的内存空间。而且内存窗口不限于显示数据。它显示内存空间中的所有内容,包括数据、代码和未分配内存中的随机垃圾位

除了,内存字节还随调试器窗口中变量的值而变化,如
监视
自动
局部变量
快速监视
对话框。然后分析它在内存使用方面的变化,以改进程序。因为它,我们不能直接改变它


此外,有关内存窗口的更多信息,您可以查看。

我发现了一种解决方法,它甚至可以用于修改可执行代码内存。 以下是步骤:

  • 在代码中定义一个备用全局指针(实际上,您可以在代码中使用任何内存指针,只要您不介意更改其值):

    char*memptr

  • 在手表窗口中设置指针

  • 将指针值设置为要修改的内存地址
  • 扩展内容(顺便说一句,您可以在手表窗口中使用“memptr,100”来访问多个字节)
  • 在扩展字节值单元格中键入更新的值
  • 即使您将指针设置为可执行机器代码内存,也可以使用它来修补代码

    它可以是int指针或任何其他类型,或者如果您希望编辑任何其他类型的对象,可以在“监视”窗口中使用强制转换


    小心这可能是危险的,修改内存时必须非常小心。

    恐怕没有这样的选项来实现这一点,您无法在VS2017中更改内存字节。对不起,您是对的,忘记标记了。