在Eclipse中调试期间查看、修改程序集代码
在Eclipse调试模式下,我希望看到程序集级代码,修改部分代码并重新运行程序。汇编级代码应该是加载到内存中执行的程序代码。我想添加断点,然后在这些断点处修改汇编代码并重新加载程序在Eclipse中调试期间查看、修改程序集代码,eclipse,debugging,memory,assembly,Eclipse,Debugging,Memory,Assembly,在Eclipse调试模式下,我希望看到程序集级代码,修改部分代码并重新运行程序。汇编级代码应该是加载到内存中执行的程序代码。我想添加断点,然后在这些断点处修改汇编代码并重新加载程序 请让我知道这是否可行。如果是,我怎么做?提前谢谢 查看汇编代码很容易:只需在Eclipse中打开“反汇编”视图。您需要安装CDT工具集 在x86上修改汇编代码并不是那么容易:您可以用另一段X字节长的代码替换一段X字节长的代码 某些调试器(例如MS DOS调试器)具有内置汇编程序;使用其他调试器,您必须修改内存中的字节
请让我知道这是否可行。如果是,我怎么做?提前谢谢 查看汇编代码很容易:只需在Eclipse中打开“反汇编”视图。您需要安装CDT工具集 在x86上修改汇编代码并不是那么容易:您可以用另一段X字节长的代码替换一段X字节长的代码 某些调试器(例如MS DOS调试器)具有内置汇编程序;使用其他调试器,您必须修改内存中的字节
不幸的是,x86上的指令大小不同。所以“mov eax,1”有5个字节,“mov ebx,1”有6个字节。因此很难简单地替换汇编代码。查看汇编代码很容易:只需在Eclipse中打开“反汇编”视图。您需要安装CDT工具集 在x86上修改汇编代码并不是那么容易:您可以用另一段X字节长的代码替换一段X字节长的代码 某些调试器(例如MS DOS调试器)具有内置汇编程序;使用其他调试器,您必须修改内存中的字节
不幸的是,x86上的指令大小不同。所以“mov eax,1”有5个字节,“mov ebx,1”有6个字节。因此,很难简单地替换汇编代码。谢谢您的回复。我检查了CDT工具。它说它适用于C/C++。Java有类似的功能吗?修改Java程序不可能那么简单!您没有机器代码,只有字节代码,可以由虚拟机解释或根据优化转换为机器代码。有时虚拟机首先解释字节码,然后将其转换为机器码。感谢您的回复。我检查了CDT工具。它说它适用于C/C++。Java有类似的功能吗?修改Java程序不可能那么简单!您没有机器代码,只有字节代码,可以由虚拟机解释或根据优化转换为机器代码。有时,虚拟机首先解释字节码,然后将其转换为机器码。