Debugger Engine Reference

一、客户端函数
1、DebugConnect
DebugConnect和DebugConnectWide函数创建一个新客户对象并返回一个接口指针给它。这个客户端对象可被连接到一个远程主机。

HRESULT
  DebugConnect(
    IN PCSTR  RemoteOptions,
    IN REFIID  InterfaceId,
    OUT PVOID *  Interface
    );

HRESULT
  DebugConnectWide(
    IN PCWSTR  RemoteOptions,
    IN REFIID  InterfaceId,
    OUT PVOID *  Interface
    );

#ifdef UNICODE
#define DebugConnectT DebugConnectWide
#else
#define DebugConnectT DebugConnect
#endif

参数
RemoteOptions
指定调试器引擎将如何连接到远程主机。这跟命令行下的remote命令是相同选项。
InterfaceId
指定调试器引擎客户接口的接口标示(IID)。这是将被返回到Interface的接口的类型。
Interface
返回一个接口指针给新客户。接口的类型被InterfaceId指定。
返回值
S_OK
命令执行成功。
要求
头文件:被定义在dbgeng.h。Include dbgeng.h.
2、DebugCreate
DebugCreate函数创建一个新的客户对象并返回一个借口指针给它。

HRESULT
  DebugCreate(
    IN REFIID  InterfaceId,
    OUT PVOID *  Interface
    );

参数
InterfaceId
指定被期望调试器引擎客户接口的接口标示(IID)。这是被返回给Interface的接口类型。关于接口标示更多的信息,请看COM Interfaces。
Interface
给新的客户返回一个接口指针。接口的类型由InterfaceId指定。
返回值
S_OK
返回成功。
E_NOINTERFACE
客户对象没有实施被指定的接口。
内容
传递给DebugCreate的参数跟传递给IUnknown::QueryInterface一样,它们被同等对待。
对于IUnknown::QueryInterface,当返回的接口不再使用,它的IUnknown::Release方法就要被调用。

二、客户COM接口
1、IDebugAdvanced::获取客户端线程、源文件、符号表等相关信息
2、IDebugClient::与客户端相关的一些列方法,包括客户端的创建、结束、附加、会话、事件分发、转储文件的读写等等
3、IDebugControl::与客户端控制相关的一系列方法,包括控制客户端执行、计算、断点操作和一系列输入输出控制。
4、IDebugDataSpaces::与数据相关的一系列方法,包括数据的读写、搜索和信息获取。
5、IDebugRegisters::与寄存器相关的一系列方法,包括栈针信息的获取、指令的获取、寄存器值的读写。
6、IDebugSymbols::与符号相关的一系列方法,包括模块、源文件、符号表
7、IDebugSystemObjects::与系统对象相关一系列方法,包括线程、进程、环境相关信息的获取和设置。
三、回调COM接口
1、IDebugEventCallbacks::包含断点、异常、状态改变、模块加载、进程线程创建等事件的回调函数。
2、IDebugInputCallbacks::包含开始和结束输入的回调函数
3、IDebugOutputCallbacks::只包含一个输出回调函数
四、其他COM接口
1、IDebugBreakpoint::与断点相关的更为详细的方法,包含断点的地址、命令、id、参数的获取和设置。
2、IDebugSymbolGroup::全局符号表的相关操作。
五、结构体和常量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值