美文网首页C++ 杂记
调试神器 assert

调试神器 assert

作者: 赵者也 | 来源:发表于2017-10-30 18:11 被阅读13次

① assert宏可以说是“复杂性/有效性”之比最高的调试工具,项目的成败至少部分取决于开发人员在代码中使用断言的有效性;

② 不要在assert中编写具有副作用的表达式。比如:

assert(++i<limit);

③ 按照信息论的原理,一个事件中所含的信息量与该事件发生的概率是成反比的。因此,如果 assert 触发的可能性越低,它触发时所提供的信息量越大;

④ 要避免使用 assert(false),应该使用 assert(!"informational message") 或者 &&"informational message" 的形式;

⑤ 用抛出异常代替断言是不可取的;

总而言之:我们知道有些错误时可能会发生的。对于其他不应该发生的错误,如果发生了,就是程序员的过错,此时就该使用 assert 了。

相关文章

  • 调试神器 assert

    ① assert宏可以说是“复杂性/有效性”之比最高的调试工具,项目的成败至少部分取决于开发人员在代码中使用断言的...

  • maven tests

    (一)关于断言assert 断言assert与异常exception的区别在于:1、断言用于调试代码2、异常用于捕...

  • 断言

    断言语句可以方便的往程序里插入用于调试的断言。语句结构: assert_stmt ::= "assert" exp...

  • python基础 -- 程序调试

    1. 调试 发现bug, 调试程序 2. 操作 print方法,需要调试的地方放一个print assert断言,...

  • 【Python入门】19.调试器pdb、单元测试unittest

    摘要:各种调试方法介绍assert、logging、调试器pdb;单元测试unittest的编写方法、如何运行单元...

  • 32/70 assert调试机制

    layout: "post"title: "32/70 assert调试机制"date: "2017-03-31 ...

  • python小功能汇总(更新)

    1、调试python方法,断言(assert) deffoo(s):n=int(s)assertn!=0,'nis...

  • 程序调试的一些心得和经验

    整理程序调试的一些踩坑,经验整理,注意事项等。 assert断言在程序中插入assert 断言可以让程序出现意料之...

  • C/C++ 调试技巧

    C/C++ 调试技巧 from my csdn blog 调试宏 assert() 参数为一个断言为真的表达式,如...

  • 断言

    本文将简单的介绍ios中的几种断言方式 1. assert assert只是一个宏,用于开发阶段调试程序中的bug...

网友评论

    本文标题:调试神器 assert

    本文链接:https://www.haomeiwen.com/subject/ttdmpxtx.html