缘起
在《修复被破坏的 vs 工程设置》和《修复被破坏的 vs 工程设置(续)》这两篇文章中,分享了调查 VS
包含路径错误的问题,感兴趣的小伙伴儿可以查看。依稀记得在 2013
年的时候调查过类似的问题。前一阵子没翻到,这两天在翻笔记的时候居然意外的找到了。特整理分享给大家。
在《修复被破坏的 vs 工程设置》和《修复被破坏的 vs 工程设置(续)》这两篇文章中,分享了调查 VS
包含路径错误的问题,感兴趣的小伙伴儿可以查看。依稀记得在 2013
年的时候调查过类似的问题。前一阵子没翻到,这两天在翻笔记的时候居然意外的找到了。特整理分享给大家。
前两天,朋友遇到一个线上 cpu
占用率很高的问题,我们俩一起快速定位并解决了这个问题。在征求朋友同意后,特发此文分享整个过程。本文以对话的形式展开,加上我的内心独白。文中对话与实际对话略有出入。
在上一篇文章 《调试实战 | dll 加载失败之Debug Release争锋篇》中,由于两个工程中的 _ITERATOR_DEBUG_LEVEL
不同,导致了对同一个 map
的解析不同,从而导致了崩溃。在示例代码中,我是手动更改的该宏的值,在实际工程中,却另有玄机。在上文中故意省略了这部分内容的介绍。现把实际工程的问题在本文中做个相对详细的梳理总结。
先剧透一下:实际工程中的问题是因为一个工程中定义了 _DEBUG
宏,另外一个工程里没定义。但是我已经核对过,两个工程都没定义 _DEBUG
宏。其中一个工程的 _DEBUG
宏是从哪儿来的呢?