可以启用libc ++调试检查吗?

时间:2014-05-24 19:05:00

标签: c++ libc++

我一直想知道是否可以对libc ++启用任何调试检查。关于MSVC的STL,我最喜欢的一件事就是它从一开始就抓住了一些难以找到的bug(虽然我希望它更容易禁用速度)。在标题中偷看后我试了一下:

#define _LIBCPP_DEBUG_LEVEL 2

但是,这会导致构建错误(' __ get_db未声明')。有关这是否是正在进行的工作的任何见解,或者是否有不同的预期方式来启用这些检查?

2 个答案:

答案 0 :(得分:2)

这绝对是一项正在进行的工作。 我需要更新(非常旧的)状态页here

想法是用户将通过设置预处理器符号_LIBCPP_DEBUG与其进行交互 只是定义它将提供基本测试,将其设置为数字> 1将进行更广泛的测试。

但是,正如您所发现的那样,它目前无法正常运行。

答案 1 :(得分:1)

在此期间,似乎取得了一些进展。至少现在有一些documentation没有声明调试模式被严重破坏。

如我链接的文档中所述,调试模式应通过将_LIBCPP_DEBUG定义为0或1来控制;宏_LIBCPP_DEBUG_LEVEL似乎是一些内部开关。

然而,在查看this one之类的问题时,虚假的编译错误仍然会发生。