关于调试com组件中的一个接口

  关于调试com组件中的一个接口

在vs2010 中  选择 progject 中的“Basytype Property ” 显示如下界面

Configration Properties 中的 “General” 设置com组件的输出路径,

Intermediate directory  应该是放那些编译文件与连接文件的目录

还有一点“configration”项中选择 的是 (Unicode Debug win32 )

 

第二项 Debugging  中command  中选择的是调试exe的路径.

 

 当我设置好后, F5 启动basetype.dll组件,启动起来exe, 查看Debug -> windows->Moudle。 里面加载的竟让是 exe 目录中的basetype.dll组件. 大不解, 原来在vc6.0 中调试com组件时, 加载的是com组件工程编译产生的dll。

 

后来经理告诉我 这个exe 是个光盘版的程序, 它会自动注册exe那个目录中的basetype.dll组件.  所以一直basytype工程中的断点失效。

 

他又告诉我将basytype工程产生的dll 考呗到exe目录中,已覆盖里面的basytype.dll。

 

然后调试basytype工程中的dll  刚启动时 断点是失效的, 当exe启动后就显示有效了,

可以调试basytype工程中的代码啦.

 

我昨天想了下,这个是怎么联系起来的呢, 我想是这样的, 当编译一个dll 出来后,本身有些link文件, 把这个dll拷贝到其他地方后,虽然exe注册的是这个dll.加载的是这个dll, 但是它也是由link文件才知道加载哪个dll 的。 所以调试时断点也不会失效.

 

 

今天再次问他, 没有讲内部调用关系, 只告诉我,调试时保证注册到系统中的dll 与 调试的dll  一定要一致 .

 

我决定开始看两年前买的 关于链接和装载知识的书.

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值