2005年1月21日开发心得

2005年1月21日 心情不错 开发心得

  昨天看到一个小故事:说的是一个浪花看到一个波浪,非常羡慕波浪,他对自己说“看看人家多风光啊,多高大威猛啊,而我呢只不过是小小浪花一朵朵”,他这句话刚好被一个路过的和尚听到了,和尚说了一句“同是沧海一滴水”,我觉得这个故事很好,可以让人回味,呵呵真是佛法无边啊,听来容易做来难啊,大概是因为“只缘深在此山中”吧。

 

 这几天做IM一直在搞进程外的组件,进程外组件用法还是比较简单可是就是调试起来比较麻烦,还好以前有过这方面的经验,这里总结一下,供有这方面需求的人做个参考。如何调试另一个进程的代码我最常用的有以下几种方法。

一、设置中断语句在你需要调试的地方写一名 _asm int 3;写了这一句别管什么只要运行到这就会出错,这时你用vc的调试器选调试,这时就会把代码load进来,你只要按步调度就可以调试你想调试的代码了,这招我在做openoffice的时候一直用这招百试不爽也是我最爱用的一招。

二、MessageBox方法,使用这种方法条件是你一定要知道你代码肯定会经过的地方,在这个地方加一个MessageBox操作方法如下,首先运行你的程序,当出现MessageBox时,再启一个VC这时在Build->start debug下选择Access to process在这儿选择你的要调试的进程,当把代码都装入VC后这时你就可以设置断点了,之前最好做一步就是在MessageBox的下一句设一个断点,保证代码可以执行到你希望的地方,然后再调试代码这样就可以了,这也是我一般常用的方法之一

三、ASSERT、ATLASSERT,设ASSERT也是一个不错的选择,但是我不喜欢用,因为原来做WPS的时候有一个错误,Debug版下一调试就会出异想不到错误,后来发现是因为有一个ASSERT,不知道为什么ASSERT还要开一个线程去处理一些东东,后来把ASSERT去掉就好,所以我一直对用ASSERT不放心,所以我一般不太用这种方法。

  程序开发真的很有意思,呵呵,我还是挺喜欢的,因为你写的代码会听你的话,跟人不同啊,真不知道还可以写多久代码......。忙碌了两个星期还是有不少收获的呵呵。

小常识:

1.用ALT模版创建COM对象时候CComObject<T>::CreateInstance(T**)是不会给你加引用计数的要注意啊

2.当创建里程外组件时如果你希望每一个对像都要在一个新的进程中时只要改一个值就行了_Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER,
REGCLS_SINGLEUSE);这样就可一个对象一个进程了,其实就是注册表写了一个组件属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值