VS巨集 根據函式名稱定位函式

2021-03-31 21:08:41 字數 981 閱讀 2360

在程式設計時經常只記得函式名稱的部分內容,想快速定位,但c#編輯器的函式列表沒有搜尋功能,用正規表示式搜尋可以解決這個問題,現將此過程寫成乙個巨集。

使用方法:

開啟vs的巨集編輯器,貼上以下**。

為此巨集指定乙個快捷鍵(可選)

用快捷鍵或直接執行巨集,輸入函式名稱即可。

用f3可以搜尋下乙個符合要求的函式。

sub searchfunction()

'根據函式名稱搜尋函式

sfind = inputbox("輸入函式名稱")

dte.find.findwhat = "^[ /t]*(public |protected |private |static).*" + sfind + ".*/(.*$" '"^[ /t]*(public |protected |private |static).*" + sfind + ".*/([^;]*/).*$"

dte.find.target = vsfindtarget.vsfindtargetcurrentdocument

dte.find.matchcase = false

dte.find.matchwholeword = false

dte.find.backwards = false

dte.find.matchinhiddentext = true

dte.find.patternsyntax = vsfindpatternsyntax.vsfindpatternsyntaxregexpr

dte.find.action = vsfindaction.vsfindactionfind

dte.find.execute()

end sub

此巨集的主體使用vs的記錄巨集生成,經過少量修改而成。使用此方法可以快速生成一些對自己有用的巨集。

根據函式名稱匯出函式

根據函式名稱匯出函式 相關的rva 各種rva資料寬度 根據名稱匯出函式的步驟 獲取模組首位址,首位址也是dos頭首位址 根據dos頭中的e lfanew rva,因為pe頭對映到記憶體中後和exe檔案中是一樣的,所以這個位址也是file address,即lfa這個字首 定位到nt頭 根據nt頭中...

由函式名稱呼叫函式

對dll進行過動態載入的朋友應該清楚getprocaddress這個api,其作用是通過乙個函式名稱從dll模組中獲得這個函式的位址,然後將其轉換成相應的函式指標供我們呼叫。這便是通過函式名稱來呼叫函式的乙個典型例子。下面我們就 一下這個函式,主要思路就是建立一張函式對映表。include usin...

PHP被函式中取得呼叫函式名稱

php debug backtrace 函式生成乙個 backtrace。該函式返回乙個關聯陣列。下面是可能返回的元素 名稱型別 描述function 字串當前的函式名。line 整數當前的行號。file 字串當前的檔名。class 字串當前的類名 object 物件當前物件。type 字串當前的呼...