2013-10-25 639 views
0

在Eclipse調試模式下,我想查看彙編級代碼,修改部分代碼並重新運行程序。程序集級代碼應該是加載到內存中執行的程序代碼。我想添加斷點,然後在這些點修改彙編代碼並重新加載程序。在Eclipse中調試期間查看,修改彙編代碼

請讓我知道如果這是可行的。如果是,我該怎麼辦?提前致謝!

回答

0

查看彙編代碼很簡單:只需在Eclipse中打開「反彙編」視圖。您需要安裝CDT工具集。

在x86上修改彙編代碼並不那麼容易:您可以用長度爲X字節的另一段代碼替換一段長度爲X字節的代碼。一些調試器(如MS-DOS調試器)有一個內置的彙編器;使用其他調試器,你將不得不修改內存中的字節。

不幸的是,x86指令具有不同的大小。所以「mov eax,1」有5個字節,「mov ebx,1」有6個字節。所以很難簡單地替換匯編代碼。

+0

感謝您的回覆。我檢查了CDT工具。它說它是用於C/C++的。有什麼類似的Java? – kajarigd

+0

簡單地修改Java程序是不可能的!您沒有機器代碼,但字節代碼可以由虛擬機解釋或根據優化轉換爲機器代碼。有時虛擬機首先解釋字節碼,然後將其轉換爲機器碼。 –