
debug
唐古拉在高歌
斯蒂芬地方
展开
-
GDB的使用
改变程序的执行——————— 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。 一、修改变量值 修改被调试程序运行时的变量值,在GDB中很容易实现,使用GDB的prin转载 2015-06-01 12:10:43 · 365 阅读 · 0 评论 -
Linux strace命令
简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr#strace cat /de转载 2016-06-29 19:54:56 · 305 阅读 · 0 评论 -
技巧: 使用truss、strace或ltrace诊断软件的"疑难杂症"
简介进程无法启动,软件运行速度突然变慢,程序的"Segment Fault"等等都是让每个Unix系统用户头痛的问题,本文通过三个实际案例演示如何使用truss、strace和ltrace这三个常用的调试工具来快速诊断软件的"疑难杂症"。truss和strace用来 跟踪一个进程的系统调用或信号产生的情况,而 ltrace用来 跟踪进程调用库函数的情况。truss是早期为Syste转载 2016-06-29 18:21:37 · 404 阅读 · 0 评论 -
Android学习系列(29)--App调试的几个命令实践
在Android的应用开发中,我们会用到各种代码调试;其实在Android的开发之后,我们可能会碰到一些随机的问题,如cpu过高,内存泄露等,我们无法简单的进行代码调试,我们需要一个系统日志等等,下面我把握工作中碰到的几个常用命令和方法给大家演示实践一下。1.logcat命令这个命令最简单常用,可查看帮助,我不多说,如果需要打印时间,加参数-v time转载 2016-06-29 11:27:26 · 515 阅读 · 0 评论 -
Linux内核调试方法总结
目录[-]一 调试前的准备二 内核中的bug三 内核调试配置选项1 内核配置2 调试原子操作四 引发bug并打印信息1 BUG()和BUG_ON()2 dump_stack()五 printk()1 printk函数的健壮性2 printk函数脆弱之处3 LOG等级4 记录缓冲区5 syslogd/klog转载 2016-01-29 16:22:21 · 681 阅读 · 0 评论 -
【团队分享】刀锋铁骑:常见Android Native崩溃及错误原因
作者介绍:王竞原,负责网游刀锋铁骑项目,使用C++10年左右,非常喜欢使用C++,特别是C++11。希望能与广大的C++爱好者多交流。一、什么是Android的C/C++ NativeCrashAndroid上的Crash可以分两种:1、Java Crashjava代码导致jvm退出,弹出“程序已经崩溃”的对话框,最终用户点击关闭后进程退出。Logcat 会转载 2016-01-29 10:18:08 · 543 阅读 · 0 评论 -
Dumpsys System Diagnostics
The dumpsys tool runs on the device and provides information about the statusof system services.How to use dumpsysIf you run adb shell dumpsys, you’ll get diagnostic output forall system servi转载 2015-10-14 16:37:45 · 463 阅读 · 0 评论 -
Fatal signal 11问题的解决方法
项目问题,目前已解决;在此记录。前些天在调试Camera模块;发现相同的代码在厂家提供的环境里边编译、就是ok的,在我们的源码树中编译,将HAL库推进去后、就会signal 11退出。一、现象[plain] view plaincopyF/libc ( 4250): Fatal signal 11 (SIGSEGV) at 0x转载 2015-09-16 14:33:11 · 874 阅读 · 0 评论 -
Android Fatal signal 11问题的调试方法
这两种方法都不是我发明了,都是网上一些高手公开出来的调试方法,无奈找不到出处的地方了,所以就在此总结一下,以方便android下的调试:简要说明:android系统中调试Java非常容易,一般遇到错误都在logcat中打印出错时函数的调用关系,而/system/bin/下的可执行程序或者C库中出错时只看到一些二进制信息,使用gdbserver调试环境搭建又比较复杂。转载 2015-01-23 18:29:56 · 3226 阅读 · 0 评论 -
详解coredump
一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。 通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函转载 2015-09-09 17:57:18 · 593 阅读 · 0 评论 -
android平台程序崩溃的类型及原因列举
Android平台程序崩溃大家都应该遇到过,force close和ANR应该是大家遇到较多的。这里把Android平台程序崩溃的各种类型做一个简述和原因列举。1.ANR(可见ANR):发生场景:应用发生ANR。崩溃症状:系统弹出窗口询问用户选择“Force Close”或者“Wait”。 “Force Close”将杀掉发生ANR的应用进程。“Wait”将会等待系转载 2015-08-31 16:10:31 · 552 阅读 · 0 评论 -
Android下binary级的一些分析调试方法
原文地址:http://blog.youkuaiyun.com/jinzhuojun/article/details/18080871 有源码的情况当然好办,但没有源码想调bug或者想逆向怎么办。本文列举了Android下binary级的一些分析调试工具和方法。 Logcat:很多时候logcat中找不到直接答案,但其中往往能得到继续分析的方向。logcat默认啥都输出在一起,合理用log转载 2015-08-31 16:06:45 · 412 阅读 · 0 评论 -
android 常见死机问题-如何分析
android 常见死机问题--log分析===================================================================================================一般在平时工作中,基本上很多代码可以在eclipse+ndk进行调试,但如果需要用到具体的硬件设备,如媒体播放设备无法模拟的情况下,只能上硬件(盒子转载 2015-06-08 10:13:29 · 1059 阅读 · 0 评论 -
一个panic bug的分析过程
一个工作中遇到的bug的问题,分析一下流程,顺便把panic这种类似的bug流程做一些分析:环境: linux 3.0, arm 芯片平台首先看出问题时的backtrace 如下:[ 10.298767] regulator_init_complete: disabling vrfref [ 10.299163] regulator_init_complete: disab转载 2016-10-12 10:28:26 · 1171 阅读 · 0 评论