【问题标题】:Why does Python disables MSCRT assertions when built with debug mode?为什么 Python 在使用调试模式构建时会禁用 MSCRT 断言?
【发布时间】:2026-01-28 05:05:02
【问题描述】:

当异常模块以调试模式构建时,Python 在初始化异常模块期间禁用调试模式的 MSCRT 断言。至少从源代码中,我可以看到 Python 2.6.5 为 _MSC_VER >= 1400 即 Visual C++ 2005 执行此操作。有人知道为什么吗?

【问题讨论】:

    标签: python crt assertion


    【解决方案1】:

    请参阅错误跟踪器上的this thread

    【讨论】:

    • 这些 cmets 似乎在解释为什么要执行各种复杂的验证,而不是为什么禁用断言。无论如何,在构建 Python 时禁用断言不会禁用这些断言:以上是 C 运行时本身中的断言,而不是为 Python 构建的代码中的断言。
    • 这是有道理的,搜索错误跟踪器会发现一个解释此问题的线程。