线上调试动态库 c++ 代码 经验分享

在测试环境中,不能模拟出所有的生成环境。即使你的程序在测试环境中跑的很顺畅,并且你已经模拟大多数生产环境中可能出现的状况,并为之提供了解决方案。但是,你不能保证程序在生产环境中不出问题。更糟糕的是,生产环境出了问题,你还不能再测试环境中模拟出来。所以,要是能在生产环境中调试最好了,实在不行的话能提供生产环境中程序崩溃的信息也是好的。
首先,能拿到生产环境程序的崩溃信息,最好的方式就是DUMP啦。网上有很多这方面的教程,这里就不再赘述。但是不是所有程序都能同DUMP文件这种方式捕获到有用的调试信息。比如,通过golang写的程序,调用c++写的DLL库。这种情况,dump文件就不能捕获有效的调试信息。
其次,通过OutputDebugString()函数输出调试信息,用Dbgview.exe(下载地址)接收调试信息(OutputDebugString输出的调试信息会被Dbgview.exe捕获)。
最后,如果觉得安装Dbgview.exe比较麻烦的话,最后就只有使用杀手锏–日志。通过日志文件记录执行过程。即使程序崩溃后,可以查看程序执行日志。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值