IL 彙編學習筆記(四)

2021-09-05 14:45:22 字數 883 閱讀 2008

原文:

建立 windows form 程式

下列**給出乙個簡單的例子,其中簡單的設定了窗體的一些屬性,backcolor, text 和 windowstate. .

namespace

myform

以下是其構造器的定義:

.method 

public

specialname rtspecialname instance

void

.ctor() cil managed

這段**非常簡單,不需要太多解釋。注意其中首先需要去手工呼叫基類的構造器,另一點就是,列舉的初始化只需要簡單的賦乙個整數值就可以了。

我們還可以給這個窗體定義乙個 dispose 方法如下:

.method family 

virtual

instance 

void

dispose(

bool

disposing) cil managed

錯誤處理和除錯

下面會介紹一些常見的除錯方法。

首先,我們可以在編譯 il **的時候生成除錯資訊:

ilasm.exe test.il /debug

這個命令除了生成 test.exe,還會生成乙個 test.pdb, 其中包含除錯資訊。

peverify.exe test.exe

這個命令可以檢查 pe 檔案中的錯誤。

ildasm.exe 用於反彙編 exe 為 il **。如果要輸出,可以這樣:

ildasm.exe someproject.exe /out:someproject.il

其他還有一些很有用的工具,如 dbgclr.exe, cordbg.exe

IL 彙編學習筆記(三)

原文 http www.codeproject.com dotnet ilassembly.asp 建立和使用類物件 首先我們定義乙個簡單的類,它只包含乙個方法用於計算乙個整數的平方 square 如下 assembly extern mscorlib assembly mathlib module...

IL 彙編學習筆記(三)

原文 建立和使用類物件 首先我們定義乙個簡單的類,它只包含乙個方法用於計算乙個整數的平方 square 如下 assembly extern mscorlib assembly mathlib module mathlib.dll namespace hangamahouse 然後用命令 ilasm...

彙編學習筆記四

我們通常使用訪問記憶體單元的語句位 mov ax,ds 0 我們也可以使用這樣的形式訪問記憶體單元 mov ax,ds bx 我們稱bx位偏移位址暫存器,這裡只能使用bx暫存器 bx成為偏移位址暫存器 inc指令表示將目標運算元加1 assume cs code code segment mov a...