Linux,一切皆文件,那么在Android系统本身,也是Linux+java罢了,也是在Linux的运行环境下。

通常,我们在调试程序的都会使用printf。

在Android中,我们会去使用logcat,现在,给大家介绍一种常用的调试方法,debug写文件调试法。

在Android系统中,调试一个C应用程序可谓是极其不方便,为了保存log的完整性,于是,写文件调试法可以发挥重大的作用,下面给出一个例子:

#include

FILE * wirte_debug_file=NULL;

//将调试信息写到文件中

void write_Debug_to_file(char *debug_log)

{

if(wirte_debug_file==NULL)

wirte_debug_file = fopen("debug.txt","wt");

if(wirte_debug_file==NULL)

return;

fputs(debug_log,wirte_debug_file);

}

int main(void)

{

int i ;

char buf[100];

for(i = 0 ; i < 10 ; i++)

{

sprintf(buf,"i:%d\n",i);

//写调试信息

write_Debug_to_file(buf);

}

if(wirte_debug_file != NULL)

fclose(wirte_debug_file);

return 0 ;

}

运行结果:

我们打开debug.txt后,可以看到:

i:0

i:1

i:2

i:3

i:4

i:5

i:6

i:7

i:8

i:9

打印的数据被保存在这个文件中,甚至,我们可以将代码段执行到哪一句都可以写到log中去,回头再来分析问题。

这是一种非常好的调试手段。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对免费资源网的支持。如果你想了解更多相关内容请查看下面相关链接

linux应用程序调试方法,Linux应用程序使用写文件调试程序的方法相关推荐

  1. php写linux应用程序,Linux应用程序使用写文件调试程序的方法

    Linux,一切皆文件,那么在Android系统本身,也是Linux+java罢了,也是在Linux的运行环境下. 通常,我们在调试程序的都会使用printf. 在Android中,我们会去使用log ...

  2. 如何在linux系统写程序文件,Linux应用程序使用写文件调试程序的方法

    Linux,一切皆文件,那么在Android系统本身,也是Linux+java罢了,也是在Linux的运行环境下. 通常,我们在调试程序的都会使用printf. 在Android中,我们会去使用log ...

  3. c语言程序只能调试成功一半,c语言程序的调试方法所谓程序调试是指对程序的查错和排错。调试程序一般应经过以下几个步骤:一、先进行人工检查,即静态检查。在写好一个程序以后,不要匆匆忙忙...

    c语言程序的调试方法 所谓程序调试是指对程序的查错和排错. 调试程序一般应经过以下几个步骤: 一.先进行人工检查,即静态检查. 在写好一个程序以后,不要匆匆忙忙上机,而应对程序进行人工检查.这一步十分 ...

  4. linux 程序调试日志,Linux程序调试

    Linux下的段错误产生的原因及调试方法 简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了 ...

  5. 微信小程序调试php,微信小程序工具 程序调试的三大主要功能区

    程序调试主要有三大功能区:模拟器.调试工具和小程序操作区 模拟器 模拟器模拟微信小程序在客户端真实的逻辑表现,对于绝大部分的 API 均能够在模拟器上呈现出正确的状态. 编译代码 点击工具左下角的编译 ...

  6. linux通过java获取root权限_通过可写文件获取Linux root权限的5种方法

    Linux系统中,全部都是以文件形式存在的,包括目录.设备都是有权限的,共有读.写.可执行三种.管理员为文件设置好权限后,应该要考虑哪些Linux用户会被允许和限制上述的三个权限. 通过可写脚本进行r ...

  7. linux中root权限找tmp路径,通过可写文件获取 Linux root 权限的 5 种方法-tmp文件

    Linux系统中,全部都是以文件形式存在的,包括目录.设备都是有权限的,共有读.写.可执行三种.管理员为文件设置好权限后,应该要考虑哪些Linux用户会被允许和限制上述的三个权限. 通过可写脚本进行r ...

  8. 关于java方法的重载(Overloading),覆写(Override)以及final 方法的几点说明

    昨天在一个群里面一个群友问道final 方法可不可以重载,我不假思索的说final 方法不能继承不能重载.后来晚上睡不着觉想想总觉得不对头,翻翻书一看自己简直就是胡说八道,才意识到这些基础概念的东西时 ...

  9. win10系统计算机搜索文件,win10搜索文件内容的方法是什么_win10精确搜索文件内容的方法...

    最近有朋友问小编win10搜索文件内容的方法是什么,对于这个问题,相信很多朋友都是一头雾水,不知道应该如何搜索.有时候我们想在电脑上查找一个文件,但是忘记了这个文件的名字,这时候就可以搜索文件内容中的 ...

最新文章

  1. 伦敦大学学院、UC伯克利联手,撰文综述深度强化学习泛化研究
  2. 实验十——一维数组的定义及引用
  3. UVC协议USB视频捕获设备定义
  4. Node — 第三天
  5. to_string作用
  6. hdu-acm steps Common Subsequence
  7. XX银行数据中心建设方案
  8. Oracle 监控索引使用率脚本分享
  9. word封面下划线长度固定
  10. 【精通内核】CPU控制并发原理CPU中断控制内核解析
  11. 【Lua杂谈】debug.getinfo源码分析——使用C API重写lfunctimer
  12. JAVA 守护线程 Deamon
  13. unbuntu 安装jdk
  14. csv是什么文件(ofd是什么文件)
  15. winDebug 调试
  16. Node.js卸载与重装,zip与msi安装详解
  17. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network论文翻译——中文版
  18. 什么是ThreadLocal?ThreadLocal基本使用
  19. 十一丶面向对象的程序设计
  20. BCM ESW芯片和Marvell CAT芯片的比较

热门文章

  1. 从补码的来源剖析到为啥补码=原码按位取反+1
  2. qt之qml开发优缺点_linux配置vlc-qt
  3. idea.config.path is invalid 问题
  4. KEIL、uVision 和 MDK 区别和联系
  5. pymysql语法_如何使用PyMySQL模块进行增删改查?
  6. 怎么删除计算机c盘应用程序,如何删除C盘的垃圾文件!!
  7. Xilinx zynq-7000 SOC 设计导论
  8. VMware Device/Credential Guard 不兼容
  9. php myadmin utf,phpmyadmin在哪里设置utf_8
  10. ajax 最大链接数_leetcode之第三大的数