`
zjlinkpro
  • 浏览: 51223 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

从代码的角度去调试代码

阅读更多

代码角度:
---------------------------------------------------------------------------------------------------------------------------------
1.level 1)观察变量的变化,在你感觉变量的值变化有问题时,显示该变量的值;
如:在C++中:  cout  << “value: ” <<  value;
     Java中: System.out.println(“value: ” +value);
---------------------------------------------------------------------------------------------------------------------------------
2.level 2assertion(断言)
1)理解
   因为Assertion是一种假设,所以它的结果就只有两种(truefalse);
   在代码最容易出错的地方设置Assertion,就好比在某个地方加了个监控器,当发生异常的时候,会发出警报;
2)具体使用
C++中:
#include<cassert>
int main()
{
bool isTrue = false;
assert(isTrue);
return 0;
}

 

Java中:

有两种表示:

1)assert  Expression1

public class test {
public static void main(String[] args) {
boolean isOpen = false;
assert isOpen == true; // 提示变量值有问题
System.out.println(isOpen);
}
}

 

 

2) assert Expression1 : Expression2
public class test {
public static void main(String[] args) {
boolean isOpen = false;
try{
// if (isOpen == true)为真,不进行处理;反之,进行捕获(输出“wrong”)
assert isOpen == true : "wrong";
System.out.println(isOpen);
}catch(AssertionError err){
System.out.println(err.getMessage());
}
}
}
------------------------------------------------------------------------------------------------------------------------- 

3)assertion开启决定方式
     i)  在C++中里面,编译时决定是否开启assertion。我们见到的c++工程有两个版本(debug版本和release版本)

         其中,debug版本中是有assertion,而release版本没有;
     ii) 在Java中里面,运行时决定是否开启assertion。这里会带来一定的开销,但在版本管理中,有优势;

         开启方式:Run ---> Run... ---> 选择 Arguments 选项卡, VM arguments 文本框中输入: -ea  
         注意: 中间没有空格,如果输入 -da 表示禁止断言。

----------------------------------------------------------------------------------------------------------------------------------------

参考网址:
    1.java assert初步使用
     2.MicroFish
     3.网络学院


分享到:
评论

相关推荐

    代码调试代码调试代码调试

    5. **代码审查**:与其他开发者一起审查代码,往往能从不同的角度发现问题。 6. **保持耐心**:调试是一个反复试验的过程,需要有足够的耐心和细心。 ### 实践案例 假设在开发一个Web应用程序时遇到了一个难以定位...

    VB代码角度变换

    这个“VB代码角度变换”可能涉及将角度从度数转换为弧度,反之亦然,或者进行旋转操作。下面我们将详细讨论相关知识点。 一、角度单位转换 1. **度到弧度转换**:在数学中,360度等于2π弧度。VB中可以使用Math库...

    角度识别源代码

    在这个“角度识别源代码”中,我们很可能会找到基于OpenCV实现的角度检测和计算的示例程序。 OpenCV库中的关键模块如图像处理、特征检测和几何变换等,都在角度识别中起着关键作用。例如,可以利用Hough变换检测...

    STM32F103C6T6代码调试报告

    在代码中,`HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1)` 启动了定时器2的通道1,用于生成PWM波形。`__HAL_TIM_SET_COMPARE()` 函数设置定时器比较值,这个值决定了PWM周期中的高电平时间,从而间接控制舵机的角度。...

    GY-25和GY-25Z资料下载(代码示例和调试软件)

    GY-25和GY-25Z资料下载(代码示例和调试软件) 内容概要:内函GY25Z和GY25资料 其中 GY25Z文件夹函有【1】GY-25Z增强版使用手册v1【2】51单片机、stm32、arduino的读取示例【3】调试软件GY25Z_GY99【4】GY-25Z增强版...

    测量平差程序源代码(已经调试通过)

    接着,"权矩阵传播"是指在处理测量数据时,如何将不确定性从一个测量值传递到其他关联的测量值。在平差过程中,由于测量误差的存在,需要考虑这些误差对整体结果的影响。权矩阵的传播公式通常基于误差的线性化和概率...

    STM32F407 步进电机(含角度输出)Keil代码

    9. **调试与测试**:在实际应用中,开发者会通过调试器检查代码执行情况,确保电机正确转动且角度输出准确无误。这可能包括硬件连接的验证、代码逻辑的调试以及性能优化。 10. **应用实例**:这样的代码可用于各种...

    舵机调试软件源代码(VB)

    舵机调试软件源代码是基于VB(Visual Basic)开发的一款工具,主要服务于机器人制作与调试领域。VB是一种可视化编程语言,由微软公司推出,它以其简单易学、强大的图形用户界面(GUI)构建能力以及良好的Windows系统...

    电梯ED5000调试步骤(驱动故障代码及对策、初始角度学习故障代码及对策).doc

    电梯ED5000调试步骤(驱动故障代码及对策、初始角度学习故障代码及对策).doc

    《STM32单片机+SG90舵机+OLED屏幕+舵机旋转角度数据发送到串口调试助手》源代码

    对于串口调试助手,STM32会将舵机的旋转角度数据通过串行通信发送到电脑上的调试工具,如RealTerm或串口助手。这使得用户能够实时查看舵机的状态,同时也有利于调试和记录数据。 总的来说,这个项目展示了STM32在...

    《STM32单片机+28BYJ-48步进电机+ULN2003驱动板+OLED屏幕+步进电机角度数据发送到串口调试助手》源代码

    同时,系统还集成了OLED显示屏,用于实时显示步进电机的角度数据,并且能够将这些数据发送到串口调试助手,便于用户监控和调试。以下是对这个项目涉及的主要知识点的详细解释: 1. **STM32单片机**:STM32是由意法...

    bldc代码和foc代码

    5. **角度估算**:基于BEMF的零交叉检测或者基于电流波形的分析来估算电机的角度。 压缩包中的"BLDC_Sensorless_FOC"可能包含了实现以上算法的代码框架,包括初始化设置、PID控制器参数、电机模型、以及实时数据...

    角度传感器资料 代码 pdf

    2. 宽广的测量范围:可能支持从0到360度全方位测量,甚至可能扩展至更大的角度。 3. 抗干扰能力:具备良好的电磁兼容性,能够在复杂电磁环境下稳定工作。 4. 耐用性:设计上考虑了耐温、抗振动和冲击的能力,适应...

    STM32四轴机械臂调试代码

    STM32四轴机械臂调试代码是一套专为基于STM32微控制器的四轴机械臂设计的软件实现。STM32是意法半导体(STMicroelectronics)推出的高性能、低功耗的微控制器系列,广泛应用于工业自动化、机器人、物联网等众多领域...

    无感FOC电机控制代码

    标题中的“无感FOC电机控制代码”是指一种无需使用传感器的磁场定向控制(Field-Oriented Control,简称FOC)技术,应用于电机控制系统。这种技术可以提高电机效率和动态性能,广泛应用于电动汽车、机器人、精密机械...

    机械臂运动学C++代码

    机械臂在现代自动化和机器人技术中扮演着至关重要的角色,其运动学是研究机械臂运动规律的学科。在这个“机械臂运动学C++代码”压缩包中,...通过实际编写和调试代码,可以增强对机械臂运动学的理解,并提升编程技能。

    JAVA高端进阶开发课程 JAVA应用程序调试技术 从实战角度出发学习JAVA应用程序调试.rar

    "JAVA高端进阶开发课程"深入讲解了JAVA应用程序的调试技术,旨在帮助开发者从实战的角度提升其技能。本课程聚焦于如何有效地定位并解决程序中的错误,从而提高代码质量和开发效率。 在Java应用程序调试中,我们首先...

    某CAD结构插件源代码 LSP源代码

    7. **错误处理与调试**:良好的源代码会包含充分的错误处理机制,以捕获和处理可能出现的问题,同时提供调试信息帮助开发者定位和修复问题。 8. **文件输入/输出**:插件可能需要读取和写入DWG、DXF等CAD文件格式,...

    程序调试思想与实践程序调试思想与实践

    - **代码审查**:让同事审查代码,从不同角度发现问题。 4. **调试工具**:许多集成开发环境(IDE)如Visual Studio、Eclipse、PyCharm等提供了强大的内置调试器。此外,还有专门的调试工具如GDB、pdb等,适用于...

    飞思卡尔智能车电磁组程序完整代码

    7. **调试工具**:开发过程中,可能使用到如JTAG或SWD接口进行在线调试,以及Log输出进行问题排查。 8. **版本控制**:项目中的代码可能使用Git等版本控制系统进行管理,便于团队协作和版本回溯。 最后,文件名为...

Global site tag (gtag.js) - Google Analytics