C语言-调试

1 格式化输出函数printf("%d %s",a,str):格式化控制符之间不能有“逗号”,可以用空格

2.1 指针:运用指针虽然效率高,但在指针运算时一定要谨慎指针的越界(上界和下界),例如P+i+1或者p+i-1   i++/i--.必要时要进行边界值带人推演。

2.2 指针必须先赋值(有所指向)然后才可以使用。

3。1 函数:函数独立性要强,每个函数完成一定功能,集成度要低,这样便于逐个调试垒积木(调试成功的基础上适当集成以降低函数调用的开销)。

3.2 逻辑结构要清晰,必要时画出流程图,不该在循环结构内的如果在循环体内效率将很低。

C语言-调试

时间: 2024-10-07 09:51:59

C语言-调试的相关文章

C语言调试

1.调试的概念以及调试器的选择 在编写代码的过程中,相信大家肯定遇到过这样的情况:代码能够编译通过,没有语法错误,但是运行结果却不对,反复检查了很多遍,依然不知道哪里出了问题.这个时候,就需要调试程序了. 所谓调试(Debug),就是让代码一步一步慢慢执行,跟踪程序的运行过程.比如,可以让程序停在某个地方,查看当前所有变量的值,或者内存中的数据:也可以让程序一次只执行一条或者几条语句,看看程序到底执行了哪些代码. 在调试的过程中,我们可以监控程序的每一个细节,包括变量的值.函数的调用过程.内存中

【转】嵌入式C语言调试开关

在调试程序时,经常会用到assert和printf之类的函数,我最近做的这个工程里就有几百个assert,在你自认为程序已经没有bug的时候,就要除去这些调试代码,应为系统在正常运行时这些用于调试的信息是无用的,而且会占用时间和空间.怎么删除呢,俺以前都是用笨方法,一个一个注释,能用注释也是经过改进的方法,俺最早都是删掉之后出了问题再重新写的,但是这次几百个一个一个删除的话可是要了俺的小命了,一首mp3听完,还不到一百个.以前看过st的函数库,老外的代码就是规范,俺现在的代码好多都是在st和ti

C语言 调试宏的定义

定义: #define EXAMPLE(x) printf("x = %d", x) i = 10; j = 11; EXAMPLE(i) EXAMPLE(j) i = 20; j = 21; EXAMPLE(i) EXAMPLE(j) 输出: x = 10 x = 11 x = 20 x = 21 这个输出不是我们要的效果. 修改宏定义中 printf 的使用. #define EXAMPLE(x) printf( #x" = %d", x)  输出: i = 1

C语言调试的几种方法

linux系统下,在不gdb调试的情况下,我们如何解决程序崩溃问题呢?首先想到的就是添加log日志信息,其次还有以下几种方法可以帮助我们分析存在的问题: (一)add2line 程序崩溃时会打出一些崩溃地方的地址空间,可以使用此方法显示崩溃地方对应的函数或者某一行,使用方法如下: echo "0x63d8a9" | addr2line -e bin/httpd -f  : 崩溃查对应代码行 (二)把出错时的堆栈信息打印出来,类似gdb调试中bt功能. #define BACKTRACE

JavaScript语言调试技巧

1. 使用alert()语句进行调试 当不能定位程序发生错误引发的异常时,可以采用代码跟踪方式查找错误,这时可以将alert()语句放在程序的不同位置,用它来显示程序中的变量及函数返回值等. <script language="JavaScript"> alert("开始"); var a="2"; var b="3"; alert("执行"); alert("a+b");

C语言调试小技巧

经常看到有人介绍一些IDE或者像gdb这样的调试器的很高级的调试功能,也听人说过有些牛人做工程的时候就用printf来调试,不用特殊的调试器.特别是在代码经过编译器一些比较复杂的优化后,会变得"难以辨认",使用调试器也变得有些头疼.先举个简单的例子: 1 #include <stdio.h> 2 3 int main(){ 4 int a[6], i, sum = 0; 5 for(i = 0; i<6; i++) 6 a[i] = i<<2; 7 a[3

C语言调试器GDB和LLDB的使用方法

调试器的使用 编译输出带调试信息的程序 调试信息包含:指令地址.对应源代码及行号 指令完成后,回调 LINUX使用GDB MAX使用LLDB 使用说明 // 开始调试testlib程序 lldb testlib // 在main函数的位置打断点 b main dwarfdump testlib 可以直接查看debug信息 原文地址:https://www.cnblogs.com/fandx/p/12122933.html

用VS写C语言调试总是显示反编译怎么弄

osttbt形蒙径偎假囱<http://weibo.com/20180414pp/230927983171897346760704> sgrrnt烤妊净讣厝强<http://weibo.com/20180414p/230927983170820132048896> aqk0ii内仿辰倌寻潞<http://weibo.com/p081p600p/230927983054074947571712> la0qpm纤认放苑寂欠<http://weibo.com/20180

让你在PC上调试Web App,UC浏览器发布开发者版

目前,在手机上使用浏览器访问网页,无法便捷地进行网页语言调试.手机屏幕相对较小且操作不便,直接在手机上进行网页数据调试不太现实. 因此,UC使用技术将手机网页调试信息分离,实现一种能在大屏幕.高配置PC上来调试小屏幕.低配置的手机浏览器访问的网页的开发工具--Remote Inspector(简称RI). 主要功能 Android平台UC浏览器开发者版,主要支持以下功能: DOM查看和修改 JavaScript调试.CSS调试 网络状态查看 资源文件查看 Console控制台 准备工作 手机端