社区
ATL
帖子详情
进程外COM组件如何调试
sxjzml
2017-08-04 09:41:34
目前编译出一个exe形式的COM组件,现在想调试其中的接口函数,编译环境是Eclipse的CDT,可以以Debug的形式运行。有没有什么方式触发调用接口函数,让程序跑起来。
想法:
C#写了一个客户端程序,但是调用这个COM接口,是重新启动了另外一个新的进程,可不可直接连接到Debug跑起来的那个进程,然后调用相应的接口函数。
有没有大神有其他的方法?
...全文
476
7
打赏
收藏
进程外COM组件如何调试
目前编译出一个exe形式的COM组件,现在想调试其中的接口函数,编译环境是Eclipse的CDT,可以以Debug的形式运行。有没有什么方式触发调用接口函数,让程序跑起来。 想法: C#写了一个客户端程序,但是调用这个COM接口,是重新启动了另外一个新的进程,可不可直接连接到Debug跑起来的那个进程,然后调用相应的接口函数。 有没有大神有其他的方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
worldy
2017-08-07
打赏
举报
回复
进程外COM,你在开发环境里运行COM----------会提示等待创建部件 再用另一个IDE,打开调用进程的exe调试,这样,就可以进行exe及com进行联调
赵4老师
2017-08-07
打赏
举报
回复
http://blog.csdn.net/zhao4zhong1/article/details/53078924
老司机找bug的十年心路历程
sxjzml
2017-08-07
打赏
举报
回复
现在已经可以通过客户端启动com组件,组件调试环境附加到这个exe进程进行debug,但是在一个接口函数设置断点,在客户端调用这个接口函数,并没有在断点处停止。 debug的时候发现有好几个线程在一起执行,是不是属于gdb调试多线程,还要加什么命令,另外windows下.gdbinit文件怎么创建?
sxjzml
2017-08-05
打赏
举报
回复
引用 3 楼 倦怠的回复:
下一个vc,把你的环境运行起来,再附加
这是个很大型的程序,公司自己做的编译工具,有很多插件。把大型程序分解成个个component,编译成一个个COM组件。现在就是想调试组件里面我们自己的程序。
真相重于对错
2017-08-05
打赏
举报
回复
下一个vc,把你的环境运行起来,再附加
sxjzml
2017-08-04
打赏
举报
回复
编译器不是VC,没有找到附加进程这种东西
真相重于对错
2017-08-04
打赏
举报
回复
附加那个进程,调试环境改为非托管
c#
进程
外
Com
服务(exe)编写和调用
这是
进程
外
Com
服务(exe)编写和调用的Demo程序,编写
调试
思路以及步骤可查看 http://blog.csdn.net/shu19880720/article/details/79537277 下载后记得在本地注册
com
以及修改本地注册表,否则无法使用,注册修改方法文章里也有的
COM
与
COM
+从入门到精通(pdf版本,含源码)
第一部分 了解
COM
第1章
COM
概述 何谓
CoM
COM
术语
COM
利与弊
COM
的好处
COM
的局限性
COM
组件
与接口 何谓接口 接口特征 接口类型 接口规则 接口设计
COM
组件
的实现规则 实现IUnknown规则 内存管理规则 引用计数规则
COM
激活
COM
类型
COM
客户机
COM
服务器 ActiveX控件
COM
与面向对象技术 包装 抽象 多态 继承
COM
Trader应用程序 小结 第2章 由VC++建立并使用
COM
服务器 IDL文件 建立第一个
COM
服务器 定义自定义接口 实现IUnknown和自定义接口 完成
COM
服务器 生成测试客户机 用ATL建立
COM
服务器 关于ATL 用ATL建立
进程
内
COM
服务器 用ATL建立
进程
外
COM
服务器 线程与
COM
服务器 Win32多线程应用 线程
COM
组件
自动化与IDispatch 用VC++实现IDispatch ATL与自动化 Automation数据类型 再谈类型库 C++自动化客户机 VB自动化客户机 小结 第3章 用VB建立并使用
COM
服务器 选择
COM
项目 设计接口 描述接口 浏览接口 生成对象 使用ClassBuilder 增加属性 增加方法 增加事件与枚举 使用ActiveXDataObject(ADO) 在服务器
组件
中使用Recordset对象 在客户机
组件
中使用ADOR 生成断开的Recodset 生成自己的RecodsctS 使用用户定义类型 错误处理 服务器客户机错误处理 使用VBErr.Raise机制 在VB中使用线程模型 设置线程模型 了解再入性与公寓 小结 第二部分
COM
与Internet 第4章 在VC++中建立并使用ActiveX控件 ACtiveX控件概还 属性与方法 控件与容器通信 事件与连接点 建立第一个控件 生成控件 测试控件 增加方法 增加属性 增加事件 增加属性页 允许属性保持 使用控件 建立复合控件 增加复合控件 增加功能 增加事件 处理复合控件事件 处理错误 使用控件 小结 第5章 在VB中建立并使用ActiveX控件 VB控件简介 约束与无约束控件 控件生成技术 属性类型 方法 属性配置 过程属性 环境属性配置 运行时只读属性 只在运行时有效的属性 扩展属性 容器属性 合成控件属性 可关联属性 持续与属性包 属性包 使用ActiveX控件界面向导 了解控件寿命 生成ActiveX控件 生成无约束控件 生成设计时数据约束控件 生成运行数据约束控件 小结 第6章 用VC++建立Internet
COM
组件
IEActiveX控件 轻量级控件 安全控件 持续属性 文档对象模型编程 活动服务器
组件
活动服务器页面 ASP页面的
COM
组件
小结 第7章 用VB建立Internet
COM
组件
无窗口控件 ActiveX控件容器的线程模型 ActiveX控件的安全性 Web页面访问 VBDHTML项目 DHTML项目基础 DHTML应用程序样本 VBIIS应用程序 WebClass 一个IIS应用程序样本 设计控件 设计控件与HTML文件 样本设计控件 小结 第三部分 了解D
COM
第8章 D
COM
概述 何谓D
COM
为什么使用D
COM
D
COM
操作 D
COM
组件
位置
进程
内或
进程
外
组件
代理 RPC(RemoteProcedureCall,远程过程调用) 调动 数据传递 D
COM
配置实用程序 D
COM
应用程序的安全机制 验证 授权 加密 整性检查 小结 第9章 用VC++建立D
COM
服务器 标准与自定义调动 标准调动 自定又调动 网络通伯 远程激活 AppID注册表项 可配置AppID注册表项参数 IUknown优化 D
COM
与NT服务 NT服务解剖 基于NT服务的
COM
服务器 小结 第10章 用VB建立D
COM
服务器 应用程序对象模型 何谓对象模型 如何生成对象模型 D
COM
设计准则与技术 再论调动 按数值与按引用 D
COM
进程
外
服务器 建立D
COM
组件
增加测试客户机 IIS应用程序 增加WebClasses 使用模板 增加自定义Webltems 远程错误处理 小结 第四部分 了解
COM
++ 第11章
COM
++概述
COM
与WindowsDNA 用户界面层技术 中间层技术 数据库层技术
组件
服务配置 事务处理 排队
组件
(QC) 实时结构的限制 事务性消息排队 排队
组件
结构 排队
组件
故障恢复 QC安全性 动态负荷平衡 对象地 小结 第12章 用VC++建立
COM
++
组件
ADO编程 ADO与OLEDB VC++中的ADO VC++的ADO扩展 建立
COM
++应用程序 温习IObjectContext接口 用ATL建立
COM
++
组件
编制基于角色的安全性 处理
COM
+事务 控制事务结果 指定事务属性 确定事务情境 传递接口指针 共享状态 建立事务性
COM
+
组件
小结 第13章 用VB建立
COM
+
组件
了解事务 事务与多层应用程序
COM
+与事务 事务属性:ACID
COM
+系统简介
COM
+运行环境
COM
+
Com
ponentServices
COM
+接口 资源分配器 应用程序
组件
探索
COM
+编程模型
COM
+
组件
作为
COM
DLL 基本
COM
+编程规则
COM
+API 用VB编程
COM
+ 对象描述表
COM
+
组件
的生命周期 ObjectControl接口 MTS活动
COM
+中生成对象 安全引用
组件
之间的参数传递 数据类型 使用分布式事务 分布式事务协调器(MSDTC)
COM
+事务的工作 事务与有状态对象 使用共享属性管理器(SPMSharedProperyManager) 小结 第14章 了解MSMQ 何谓MSMQ MSMQ的好处 MSMQ
组件
队列 消息 MSMQ对象模型 MSMQ设置 MSMQ基础 消息发送 消息接收 MSMQ事件 MSMQ事务 小结 第五部分 高级
COM
与
COM
+ 第15章 VC++与VB中的
COM
+服务 了解
COM
+激活 描述表包装器 激活顺序 使用即时(JIT)激活 使用对象构造 中性公寓简介 了解同步域 表示事务状态 取得对象信息 使用对象地 对象池的好处 对象地要求 对象地配置 使用排队
组件
QC限制 QC配置 QC调用 QC播放控件 使用负荷平衡 负荷平衡要求 负荷平衡配置 小结 第16章
COM
与
COM
+安全性 何谓安全性 WindowsNT安全简介 NT验证 NT扮演 NT访问控制
COM
安全结构 验证 访问控制 启动权限 标_ 扮演与掩盖 安全总括
COM
+安全
COM
+说明性安全
COM
+角色 编程
COM
与
COM
+安全 整个
进程
安全 接口级安全 激活安全 服务器方安全 调用描述表安全信息 SecuntyProperty信息 安全性与数据库访问 小结 第17章 Windows2000中的新
COM
特性 同步机制
COM
同步API
COM
同步接口 异步
COM
异步接口构造 异步接口调用 关于异步服务器与客户机 让服务器进行异步处理 调用序列化与自动完成
COM
管道
COM
管道接口 异步管道与提前读取 调用对象与调用取消 调用取消请求 调用取消处理 轻量级处理器 标准LWH 自定义LWH 小结 第六部分
调试
与部署
COM
和
COM
+应用程序 第18章
调试
与剖析
COM
和
COM
+应用程序
调试
VB
组件
调试
MTS
组件
调试
COM
+
组件
使用条件编译
调试
VC++
组件
用VisualStUdioAnalyzer剖析 小结 第19章 部署
COM
与
COM
+应用程序 D
COM
应用程序部署 配置D
COM
服务器 配置D
COM
客户机 在Internet上部署 Internet上部署与包装 签名CAB文件 许可ActiveX控件 自动化
COM
+配置 使用
COM
Admin接口与集合 配置
COM
+应用程序 配置
组件
配置角色 部署
COM
+应用程序 小结
Windows
进程
常用DLL模块注入技术
课程结合多种Windows
进程
常用DLL注入技术。远程线程注入APC注入,异步调用过程,向目标线程插入待执行任务从而完成注入。窗口消息注入,指定窗口
进程
注入,与全局钩子注入类似。环境块注入,获取
进程
上下文信息,直接性修改程序执行流程完成注入。
进程
入口点注入,在程序初始化的时机前将dll模块文件注入至目标主线程。
进程
调试
级注入,涉及
调试
器相关功能调用知识点dll模块重定位内存注入,模拟操作系统加载PE文件方式,直接将dll文件内存数据写入目标
进程
并执行。导入表注入,涉及PE相关知识点,增加区段,移动导入表,增加导入表、增加导出函数,修复表项数据等。内核驱动级Dll模块注入技术,内核驱动入门扩展。
Visual C++实践与提高-
COM
和
COM
+篇『PDF』
因文件超过20M不能上传,所以拆分为两个文件分次上传 第1章
COM
背景知识 1.1
COM
的起源 1.1.1 软件业面临的挑战 1.1.2 传统解决方案 1.1.3 面向对象程序设计方法 1.1.4 最终解决方案:
组件
软件 1.1.5 面向对象的
组件
模型——
COM
1.2
COM
的发展历程 1.2.1
COM
以前的对象技术:DDE、OLE 1、VBX控件 1.2.2
COM
首次亮相:OLE2 1.2.3 Microsoft拥抱Internet:ActiveX 1.2.4 更多的新名词:Windows DNA和
COM
+ 1.2.5 远程对象:ORBs和D
COM
1.2.6
COM
的最新版本:
COM
+ 1.3
COM
技术现状 1.3.1
COM
与CORBA 1.3.2
COM
与Enterprise Java Beans 1.3.3 Windows之
外
的
COM
小结 第2章 从C++到
COM
2.1 C++客户重用C++对象——例程DB 2.1.1 C++对象 2.1.2 客户程序 2.2 将C++对象移进DLL中——例程DB_cppdll 2.2.1 成员函数的引出 2.2.2 内存分配 2.2.3 Unicode/ASCII兼容 2.2.4 例程实现 2.2.4.1 修改接口文件 2.2.4.2 修改对象程序 2.2.4.3 修改客户程序 2.3 C++对象使用抽象基类——例程DB_vtbl 2.3.1 问题:私有数据成员被暴露 2.3.2 解决方案:抽象基类 2.3.2.1 什么是抽象基类(Abstract Base Class) 2.3.2.2 实现秘诀:虚函数(Virtual Functions) 2.3.3 使用抽象基类 2.3.4 例程实现 2.3.4.1 修改接口文件 2.3.4.2 修改对象程序 2.3.4.3 修改客户程序 2.4 改由
COM
库装载C++对象——例程dbalmost
com
2.4.1
COM
库 2.4.2 对象创建的标准入口点 2.4.3 标准对象创建API 2.4.4 标准对象注册 2.4.5 例程实现 2.4.5.1 修改接口文件 2.4.5.2 修改对象程序 2.4.5.3 修改客户程序 2.5 将C++对象变成
COM
对象 2.5.1 引用计数 2.5.2 多接口 2.5.3 IUnknown接口 2.5.4 标准类厂接口:IClassFactory 2.5.5 对象代码的动态卸载 2.5.6 自动注册 2.5.7 例程实现 2.5.7.1 修改接口文件 2.5.7.2 修改对象程序 2.5.7.3 修改客户程序 2.6 为
COM
对象添加多接口支持 2.6.1 多接口 2.6.2 DEFINE_GUID 2.6.3 例程实现 2.6.3.1 修改接口文件 2.6.3.2 修改对象程序 2.6.3.3 修改客户程序 小结 第3章
COM
基础知识 3.1 对象与接口 3.1.1
COM
对象 3.1.2
COM
接口 3.1.3 IUnknown接口 3.1.3.1 生存期控制:AddRef和Release 3.1.3.2 接口查询:QueryInterface 3.1.4 全球唯一标识符GUID 3.1.5
COM
接口定义 3.1.6 接口描述语言IDL 3.2
COM
应用模型 3.2.1 客户/服务器模型 3.2.2
进程
内
组件
3.2.3
进程
外
组件
3.2.4
COM
库 3.2.5 HRESULT返回值 3.2.6
COM
与注册表 3.3
COM
组件
3.3.1 实现类厂对象 3.3.2 类厂对象的创建 3.3.3 实现自动注册 3.3.4 实现自动卸载 3.4
COM
客户 3.4.1
COM
对象创建函数 3.4.1.1 CoGetClassObject 3.4.1.2 CoCreateInstance 3.4.1.3 CoCreateInstanceEx 3.4.2 如何调用
进程
内
组件
3.4.3
COM
客户调用
进程
外
组件
3.5 进一步认识
COM
3.5.1 可重用机制:包容和聚合 3.5.2
进程
透明性 3.5.3 安全性机制 小结 第4章
COM
扩展技术 4.1 可连接对象机制 4.1.1 客户、接收器与可连接对象 4.1.1.1 接收器 4.1.1.2 可连接对象 4.1.1.3 客户 4.1.2 实现可连接对象 4.1.3 实现接收器 4.1.4 建立接收器与连接点的连接 4.1.5 获得出接口的类型信息 4.2 结构化存储 4.2.1 什么叫结构化存储和复合文件 4.2.2 存储对象和IStorage接口 4.2.2.1 IStorage接口 4.2.2.2 获得IStorage指针 4.2.2.3 释放STATSTG内存 4.2.2.4 枚举存储对象中的元
com
进程
内
进程
外
组件
COM
进程
内
组件
与
进程
外
组件
1.
COM
进程
内
组件
进程
内
组件
以动态链接库的形式存在(后缀名为dll),客户端需要使用
进程
内
组件
提供的服务时只需要将dll加载进客户端
进程
。
进程
内
组件
必须提供自注册功能,这样客户端
进程
才能在需要的从注册表中查找到相应的信息,并加载该
组件
。
进程
内
组件
需要导出四个函数 DllRegisterServer: 参数:无 返回值:HRESULT 指示
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章