assert 调试程序

2024-05-07 06:32
文章标签 调试程序 assert

本文主要是介绍assert 调试程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

assert只是为了帮助我们调试程序,因此使用assert所遵循的原则就是“不能因为有了assert的存在而使程序的结构发生任何的改变”,说白了就是“如果把assert部分删除了,程序依然不会有任何的问题,只不过不能帮助我们检查出一些错误来了”,因此使用assert的时候不应该在表达式中使用函数,因为一旦把这句assert语句删除后,程序的结构就改变了,这不符合上述提到的原则!

assert  1> 2  #抛出异常

assert  1> 0  #正常执行

这篇关于assert 调试程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/966583

相关文章

C/C++ 中的assert()宏 断言机制

ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。   原型定义: #include <assert.h> void assert( int expre

GDB调试程序入门

http://blog.csdn.net/haoel/article/details/2880 用GDB调试程序 GDB概述 ———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所

Junit、Assert、内省、Properties类与配置文件的使用

Junit Junit有什么用 可以不写main方法直接对方法进行测试 怎么使用 1、导入junit.jar包 2、加入@Test注释 3、例子如下 import org.junit.Test;public class Demo1 {@Testpublic void fun(){System.out.println("Junit测试");}} 使用规范 一个类如果需要测试,那

Android 停止调试程序

现在我知道怎么停掉debug的Android程序了,很简单,进入ddms界面,对着你的进程,kill。

assert()函数如何使用?

编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是 异常处理 的一种高级形式。断言表示为一些 布尔表达式 ,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新起用断言。 1.可以在预计正常情况下程序不会到达的地方放置断言 :as

【Java设计模式】Arrange/Act/Assert模式:增强测试的清晰度和简洁性

文章目录 【Java设计模式】Arrange/Act/Assert模式:增强测试的清晰度和简洁性一、概述二、Arrange/Act/Assert设计模式的别名三、Arrange/Act/Assert设计模式的意图四、Arrange/Act/Assert模式的详细解释及实际示例五、Java中Arrange/Act/Assert模式的编程示例六、Java中何时使用Arrange/Act/Asse

【Opencv】的函数的开头部分CV_Assert的意思

如cvEqualizeHist()的第三条语句便是包含CV_Assert语句:  CV_Assert( CV_ARE_SIZES_EQ(src, dst) && CV_ARE_TYPES_EQ(src, dst) && CV_MAT_TYPE(src->type) == CV_8UC1 ); CV_Assert()函数与C++标准库中的assert()函数功能基本相同。 assert 的作用

devenv.exe - assert failure

最近在做项目时,遇到一个与以前所碰到过的类似问题,加载设计器时出现错误。还记得自己曾经也针对这个问题写过一篇博客《若要在加载设计器前避免可能发生的数据丢失,必须纠正以下错误》。          刚开始的时候,按照之前的方法去做,发现没有”转至代码“这一提示。其实这主要是vb.net和C#写的程序有一点区别问题。但是归根结底都是因为某个控件加载时报错了。然后去代码中找出现问题的代码,诡

【GCC调试程序C语言问题】error: initializer-string for array of chars is too long [-fpermissive]

环境:系统Ubuntu 15.10/ 编译器GCC/语言C 【1】error: initializer-string for array of chars is too long [-fpermissive] 字符数组初始化时,数组大小一定要大于字符串长度+1,否则编译错误。 字符串数组最后有\0。 http://blog.csdn.net/zcsylj/article/detai

解决报错“RuntimeError: CUDA error: device-side assert triggered ”

这是一个比较通用的错误,通常发生在以下几种情况下: 索引超出范围:在某些情况下,操作涉及的张量索引超出了允许的范围。例如,使用 index_select 或 gather 时,索引可能超出张量的范围。非法操作:例如对负数取对数、零除法,或对概率分布应用 log 函数时存在无效值(例如 0)。数据类型或维度不匹配:操作的输入张量可能在维度或数据类型上不匹配,这会触发设备端的断言。类别标签非法:如果