DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 542 评论 :: 1615万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

最近一段陆续用了几种调试VC程序的方法。一般程序也肯定会使用到这几种方法。

现在总结如下:

1.在VC里面debug版本用TRACE自己打印trace到调试窗口。

局限就是,不能脱离了vc的环境进行调试。使用者只能是程序编写者来进行调试。

2。利用微软的调试工具Dbgview.exe,来看trace的输出,可以脱离vc的环境。

此方法与第一种的不同是,可以脱离VC环境,自己接受程序利用TRACE打印的消息。使用者可以是程序测试人员来进行测试时,抓取程序出错时的log,供编写程序者分析原因。

这个在一定程度上来说是扩大了trace的使用范围。

3。自己在code里面嵌入code,把trace输出到文件里面去。

这个最麻烦,需要在自己的程序里面加入专一记录程序运行状态的code,最终把这些log,记录到文件code。其实也不麻烦,我的blog里面发表了关于这个方面的文章。实现了一个简单的类,来输出trace到文件。使用很简单,code也很少。

这个可以由客户来进行产品的测试,你不可能要求客户去打开DbgView去抓log给你的,但是你可以要求客户把电脑上的那个log文件发给你。所以,就可以利用这种方法来保存程序运行过程中,出现的问题。因为客户的环境,操作等等原因可能影响程序。所以看这个log文件来分析问题是最好不过的。

前两种是的好处是,不需要为了调试改变code。只是用trace就可以了。

posted on   DoubleLi  阅读(2138)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示