代码之家  ›  专栏  ›  技术社区  ›  nebkat

DLL跟踪函数调用

  •  0
  • nebkat  · 技术社区  · 14 年前

    我以前从未使用过dll(完全没有经验),我想用一个可以调试(以某种方式显示)调用什么函数的dll来替换应用程序中的dll。

    因此,如果一个dll有这种类型的代码(同样,我没有经验)

    function test(var1, var2, num3){
       //dosomething
    }
    

    dll.onfunccall = alert(call);
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Robert Harvey    14 年前

    您所描述的是面向方面编程(AOP)的一个经典应用程序。根据您使用的语言和框架的不同,有些AOP框架和容器的唯一功能是以您描述的方式截获DLL调用,允许您在DLL调用之前或之后执行某些操作。

    典型的例子是日志记录。日志记录可能发生在程序中的任何地方,为每个DLL调用编写代码以便将其记录下来会变得很枯燥。但是使用AOP框架,您可以一次附加所有DLL入口点,并让它们各自调用一个日志函数。这可以通过许多不同的方式来实现。有些AOP框架是通过方法属性来实现的。其他人则将代码注入DLL。

    cross-cutting concerns .

    :
    http://en.wikipedia.org/wiki/Aspect-oriented_programming