我從來沒有用過dll的(絕對沒有經驗),我想用一種可以以某種方式調試(以某種方式顯示我)調用哪個函數的應用程序替換dll。DLL跟蹤函數調用
所以,如果DLL人有這種類型的代碼(同樣,我沒有經驗)
function test(var1, var2, num3){
//dosomething
}
我會
dll.onfunccall = alert(call);
我從來沒有用過dll的(絕對沒有經驗),我想用一種可以以某種方式調試(以某種方式顯示我)調用哪個函數的應用程序替換dll。DLL跟蹤函數調用
所以,如果DLL人有這種類型的代碼(同樣,我沒有經驗)
function test(var1, var2, num3){
//dosomething
}
我會
dll.onfunccall = alert(call);
你所描述的方面 - 的一個典型應用取代面向編程(AOP)。根據您使用的語言和框架,有AOP框架和容器,它們的唯一功能是以您描述的方式攔截DLL調用,從而允許您在DLL調用之前或之後執行某些操作。
規範的例子是日誌記錄。日誌記錄可能發生在程序中的任何地方,併爲每個DLL調用編寫代碼,以便可以記錄日誌變得遲鈍。但是使用AOP框架,您可以簡單地將所有DLL入口點附加在一起,並讓它們各自調用一個日誌記錄功能。這可以通過許多不同的方式完成。一些AOP框架通過方法屬性來完成它。其他人將代碼注入DLL中。
面向方面的編程全是關於處理cross-cutting concerns。
也請參見:
http://en.wikipedia.org/wiki/Aspect-oriented_programming
看看這個帖子http://stackoverflow.com/questions/220515/how-to-intercept-dll-method-calls – 2010-07-10 17:36:48
謝謝,我將有一個看。 – nebkat 2010-07-10 17:41:51
或者這個:http://stackoverflow.com/questions/3189117/how-to-listen-to-dll-function-calls/3189438#3189438 – atzz 2010-07-10 19:36:47