踩过的bug
Quellaaa
这个作者很懒,什么都没留下…
展开
-
记一次字符乱码bug解决过程
前言最近被分配了一个bug:解决上报数据中文乱码问题。d⊂(ο・㉨・ο)⊃又是字符乱码问题。大概背景是:该数据是在produce.dll中通过assemble.dll组装,调用upload.dll上传的如何在多个模块中定位是哪个环节出的问题,这是比较恶心和比较棘手的问题~解决过程一、首先解决如何在多个模块中定位哪个环节出的问题1)通过日志定位问题。本来是想通过看日志定位问题的,但是日志显示的没有乱码,然而抓的包以utf-8显示时,发现就乱码了,所以通过日志定位不可行。2)通过调试原创 2020-08-04 21:01:37 · 523 阅读 · 0 评论 -
踩过的坑—CString的format方法报错Incorrect format specifier
前言在CString上踩过很多坑,避免以后踩过相同的坑,就把该坑记录~背景:在转换环境变量函数里输出日志多次调用了format方法,导致程序崩溃。例子类似这样调用:CString strPath;// ....//strPath 从配置文件中读入,格式如:%installPath%/test.datOutputLog(L"path is %s", strPath);然后程序出现这样的错误:解决过程这个现象是多个线程到同个函数里输出该条日志触发的,当时以为是多线程导致原创 2020-06-30 17:24:15 · 3475 阅读 · 1 评论 -
记录前几天踩过的一个关于重定向的巨坑
前言前几天发现一个神奇的bug,程序加载dll时提示失败,但是在win7 x64的1760环境可以成功,但是在win7 x64的1761环境加载失败。解决思路PS:我就不把我走的n多弯路写出来了。。。。。太坑了1、通过windbg远程调试或者vs远程调试定位到加载dll失败,定义该dll名字为error.dll,但是写了个test测试是否可以成功加载该dll,成功了。此时觉得有...原创 2020-04-23 17:22:49 · 289 阅读 · 0 评论 -
关于delete野指针没有崩溃的神奇bug
前言最近遇到一个神奇的bug:delete野指针没有崩溃。解决过程查了很多资料,大致意思是c++没有定义delete野指针的行为,所以delete野指针的行为不可定义,即有可能崩溃也有可能不崩溃。印象比较深刻的一个比喻是:指针指向的内存相当于房间,指针相当于钥匙,当你delete指针就相当于退房,但是由于没有置指针为空(此时该指针就变成野指针),就相当于你还有这个房间的钥匙。但是房东只...原创 2020-03-25 15:55:52 · 618 阅读 · 0 评论 -
关于createMutex的神奇bug
前言最近遇到一个神奇的bug:调用CreateMutex返回句柄值为空,但GetLastError值为0解决思路首先,该问题并没有定位到原因,最后是换了个mutex名字就解决了。1、使用Process Explorer查找当前创建Mutex名字结果是查找记录为空,说明本机中不存在该Mutex句柄2、使用windbg调试该exe2.1 下断点通过代码知道该互斥体是...原创 2020-03-25 15:32:15 · 514 阅读 · 0 评论 -
fatal error LNK1169: one or more multiply defined symbols found
编译时显示的错误:引起该错误的原因:在stadfx.h中#include <xx.cpp>引发的错误解决方法:不要在stadfx.h中#include <xx.cpp>解决思路过程:查看报错原因,可发现基本上每条错误都是含有信息“already defined in stdafx.obj”,那就可以考虑一下是不是在stdafx.h或stdafx....原创 2019-03-11 11:18:36 · 2962 阅读 · 0 评论 -
win7下编译得到的mfc程序不能在win10运行
问题:win7下编译的mfc程序在win10环境下运行失败,提示下图错误:引起该错误的原因:win10上没有mfc运行时要的dll文件【PS 一般出现如图错误都是因为该exe运行时找不到相应的dll】解决方法:设置工程属性从use MFC in a share dll 改为 use MFC in a static library解决思路过程:启动该ex...原创 2019-03-12 18:41:20 · 4592 阅读 · 0 评论