DLL跟踪函数调用
问题描述:
我从来没有用过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://*.com/questions/220515/how-to-intercept-dll-method-calls – 2010-07-10 17:36:48
谢谢,我将有一个看。 – nebkat 2010-07-10 17:41:51
或者这个:http://*.com/questions/3189117/how-to-listen-to-dll-function-calls/3189438#3189438 – atzz 2010-07-10 19:36:47