API Monitor的使用

原贴:http://www.cnblogs.com/hbccdf/p/4899309.html


概观

API Monitor是一个免费软件,可以让你监视和控制应用程序和服务,取得了API调用。 它是一个强大的工具,看到的应用程序和服务是如何工作的,或跟踪,你在自己的应用程序的问题。

产品特点

  • 64位支持 
    API监控支持监控的64位应用程序和服务。 64位版本只能用来监视64位应用程序和32位版本仅可用于监测的32位应用程序。 要监视在64位Windows的32位应用程序,您必须使用32位版本。 请注意,64位安装程序的API监测包括64位和32位版本。

  • 摘要视图与语法高亮 
    摘要窗口显示的API调用的信息。 这包括线程ID,并且作出API调用,与所有的参数和返回值的语法高亮API调用的DLL的名称。 如果API调用失败,也显示有关错误的信息。 
    摘要视图

  • 13000 API定义,1,300多种COM接口 
    API显示器自带的API定义为超过13,000 API的几乎200 DLL的和超过17,000方法从1,300多种COM接口(壳牌,Web浏览器,DirectShow的,DirectSound的,DirectX的Direct2D的,DirectWrite的,Windows图像处理组件,调试器引擎,MAPI等)。 API的被组织成类别和子类别(如MSDN中指定)。 该API捕获过滤器允许您选择的API进行监视。 
    API捕获过滤器

  • 结构,联合,枚举和标志 
    API Monitor可以解码和显示2000种不同的结构和联合,1000+枚举数据类型,800+标志。 内的结构,缓冲器和数组,也可以观看。 
    结构
    工会

  • 缓冲区查看 
    API监视器可以显示输入和输出缓冲器。 显示的数据的量是从其他参数的API,或从所述API返回值自动计算。 数据的被捕获的最大量是可配置的。 下面的屏幕截图显示了ReadFile的 API调用后缓冲区。 长度lpBuffer通过查看lpNumberOfBytesRead的值的API调用已经执行后计算。 在这种情况下,返回的值是174,这是所显示的缓冲器的长度。 
    参数 - 输入/输出
    缓冲区查看

  • 调用树 
    API监测显示一个调用树,显示API调用的层次结构。 下面的屏幕截图显示了CoGetClassObject调用由Visual Basic应用程序加载微软的Winsock ActiveX控件打了一个电话树。 ActiveX控件MSWINSCK.OCX使得调用WSAStartup和CreateWindowExA从DllMain中。 
    调用树

  • 解码参数和返回值 
    两个参数和返回值可以显示在一个用户友好的格式。 下面的第一张截图显示了与显示,为参数值正常观看。 第二个屏幕显示经解码的参数值。 对于dwShareMode,API监视器显示FILE_SHARE_DELETE | FILE_SHARE_READ,而不是5,解码参数值启用选项。此选项无论在参数窗格和摘要窗格可用。 
    参数 - 正常显示
    参数 - 解码

  • 断点 
    API监视器可以让你通过API调用设置断点控制目标应用程序。 断点可以在API调用前被触发,在API调用后,在API故障,或如果API生成异常。 预调用断点允许你修改它们的参数传递给API之前,还是跳过API调用,并指定返回值和过去的错误代码。 后打电话错误断点允许你修改参数,返回值和过去的错误代码它们传递给调用者之前。 异常断点使你可以捕捉异常,以防止一个目标应用程序可能的崩溃。 全球断点也可以在API错误和异常引发的。 全部自动完成支持适用于所有支持枚举数据类型和标志。

    断点

  • 监控,而无需创建定义 
    API监控器现在可以监控任何DLL任何API,而无需XML定义来创建的。 新添加的外部DLL筛选允许DLL的添加和一个根据需要去除。 一旦DLL被添加,过滤器的工作原理完全一样,捕获过滤器; 个别的API可以被选择用于监测和断点可以设置。 此外,可任意指定从它们这些API的捕获参数的数目。 外部DLL过滤器也可以保存到一个文件中,允许多个集的DLL的基于目标应用程序加载。

    外部DLL过滤器

  • 进程内存编辑器 
    API监测包括内存编辑器,可以让你查​​看,编辑和在任何过程中分配内存。 内存编辑器还允许您更改的内存区域的保护。 在一个断点,内存编辑器可用于在目标进程查看和修改缓冲区。 运行过程中的窗口上的任何程序或服务右键单击启动内存编辑器。

    内存编辑器

  • 呼叫过滤 
    API监控包括动态调用过滤功能,它允许您隐藏或显示基于一定的标准API调用。 超过25个不同的领域可以根据被过滤。 过滤可以用于,例如,发现时间超过50毫秒,以执行或以查看失败并返回错误代码2的Unicode API调用调用。

    显示过滤

  • COM监控 
    API监视器支持监视COM接口。 下面的屏幕截图显示了DirectShow中取得的GraphEdit COM方法调用。 
    COM监控
    API监视器可以解码GUID的,IID的和REFIID的,并在人类可读的格式显示出来 
    GUID解码

  • 解码错误代码 
    当API调用失败,API Monitor可以调用相应的错误函数来获取有关该错误的附加信息。 GetLastError函数,CommDlgExtendedError,于WSAGetLastError功能的支持。 此外,NTSTATUS和HRESULT错误代码可以显示在一个友好的格式。 在下面的截图中,API 连接失败。 API监视器确定的错误代码通过调用于WSAGetLastError并显示两个错误代码和红色的错误消息。 
    解码API错误

  • 调用堆栈 
    API监视器可以让你捕获和查看每个API调用的调用堆栈。 下面的屏幕截图显示了NtCreateFile API调用堆栈。 
    调用堆栈

  • 多个布局选项 
    在此版本的图形用户界面已被完全写入,并提供了许多有用的功能。 一些预先定义的布局可供选择,但是,您可以选择创建自己的自定义布局。 该GUI分为可停靠窗口“API捕获过滤器”,“正在运行的进程”,“输出”,“参数”,“十六进制缓冲区”,“调用栈”和“上钩进程”。 每个这些窗口可以被设置为“对接”,“浮动”,“隐藏”或“自动隐藏”。

  • 流程视图 
    正在运行的进程窗口显示正在运行的进程和服务,可以挂接的列表。 您也可以右键点击任何程序来启动内存编辑器。 
    流程视图服务视图

  • 服务监控 
    支持Windows服务的监控。 下面的屏幕截图显示,当一个文件被打印到Microsoft XPS文档作家的Print Spooler服务的呼叫。 请注意,以使监控的服务,您的用户帐户必须有足够的权限(在Vista中管理员模式)。 

  • 自定义DLL监控 
    API监视器支持创建任何DLL定义。 定义XML格式创建 
    自定义DLL

  • 主题 
    带钩进程窗口显示先前上瘾或正在监视的进程。 不断扩大的过程中显示该进程中的所有线程。 标有“M”的线程是该进程的主线程。 标有“W”线程的工作线程。 不活动的主题是灰色的,并且还标有其图标的红色正方形。 每个线程显示线程ID,开始地址为线程。 
    解码API错误

    要求

    Windows 2000和Windows XP 32位的Windows XP 64位版x64,Windows Vista 32位版,Windows Vista 64位版x64,Windows 7 32位,Windows 7的64位x64 的Windows 8 32位,Windows 8的64位x64

    下载


    API Monitor v2 (Alpha-r13) - x86 32-bit - - 32-bit for Windows 2000, Server 2003, XP, Vista, Windows 7, Server 2008 and Windows 8


    API Monitor v2 (Alpha-r13) - x64 64-bit - - 64-bit for Windows XP, Vista, Windows 7, Server 2008 and Windows 8 x64 (Includes 32-bit version)


    API Monitor v2 (Alpha-r13) - Portable - - Portable - Runs without installing - 32-bit and 64-bit

你可能感兴趣的:(工具)