缘起
在上一篇文章 《调试实战 | dll 加载失败之Debug Release争锋篇》中,由于两个工程中的 _ITERATOR_DEBUG_LEVEL
不同,导致了对同一个 map
的解析不同,从而导致了崩溃。在示例代码中,我是手动更改的该宏的值,在实际工程中,却另有玄机。在上文中故意省略了这部分内容的介绍。现把实际工程的问题在本文中做个相对详细的梳理总结。
先剧透一下:实际工程中的问题是因为一个工程中定义了 _DEBUG
宏,另外一个工程里没定义。但是我已经核对过,两个工程都没定义 _DEBUG
宏。其中一个工程的 _DEBUG
宏是从哪儿来的呢?