这个小技巧虽然很小,但是很有用。我写了一个cron脚本,但是隔一天发现,这个昨天的cron脚本还一直在跑着,没有停下来,一定是里面有个程序堵住了。但是如果我重新跑又需要很多时间。这个怎么办?现在最需要就是要知道程序停在了那行代码上了。使用gdb:$sudo gdb -p 14973 (gdb) pr...
分类:
Web程序 时间:
2014-06-29 00:31:28
阅读次数:
323
今天学习的命令:下断:b 函数名b 文件名:函数名b 文件名:行号b +/-偏移 //在当前行号前面或者后面的行号处下断删除断点:delete breakpoint 断点号 //删除指定断点delete breakpoint //删除所有断点显示所有断点:info b...
分类:
数据库 时间:
2014-06-23 00:17:27
阅读次数:
414
Android平台的动态调试一直以来是个困扰我等Coder的头疼问题,特别是对于本地的动态调试支持,可以说是“弱智”级别的,不知道Google的新版NDK和新出的Android Studio对这块支持如何,让我们拭目以待。
言归正传,我这里采用的是cygwin+ndk-gdb的调试模式,灵感来自于XDA的一篇博文(点击打开链接),平台和原文作者不同:...
分类:
移动开发 时间:
2014-06-22 22:55:26
阅读次数:
699
1、list命令在gdb中运行list命令(缩写l)可以列出代码,list的具体形式包括: ?list ,显示程序第linenum行周围的源程序 2、run命令在gdb中,运行程序使用run命令。在程序运行前,我们可以设置如下4方面的工作环境: ?程序运行参数3、break命令在gdb中用brea....
分类:
数据库 时间:
2014-06-19 06:38:49
阅读次数:
290
系统配置了coredump后,当程序异常终止时操作系统会在指定的目录下按指定的文件名格式产生一个core文件。core文件是程序内存映像以及相关的调试信息,通过gdb调试coredump文件可以知道导致程序异常终止的原因。1、系统配置coredump 首先是打开coredump,通过ulimi...
分类:
系统相关 时间:
2014-06-18 09:24:20
阅读次数:
333
把 c 编译成 arm 指令的可执行文件
/usr/bin/arm-linux-gnueabi-g++ hello.cpp
cat hello.cpp
#include
void crash(){
char *a=0;
*a=0;
}
int main()
{
printf("hello world\n");
crash();...
分类:
数据库 时间:
2014-06-18 06:50:45
阅读次数:
424
七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。...
分类:
数据库 时间:
2014-06-14 23:17:40
阅读次数:
319
用GDB调试程序GDB概述————GDB是GNU开源组织公布的一个强大的UNIX下的程序调试工具。也许,各位比較喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但假设你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是...
分类:
数据库 时间:
2014-06-14 21:01:10
阅读次数:
245
gcc 命令的使用
在使用GCC编译程序时,编译过程可以被细分为四个阶段:
预处理(Pre-Processing) 编译(Compiling) 汇编(Assembling) 链接(Linking)
如果不加任何参数, gcc 默认执行所有的操作,直接生成可执行文件。
以上四个阶段对应参数为:
1. -E 只执行预处理
2. –S 只编译,不汇...
分类:
数据库 时间:
2014-06-14 13:28:23
阅读次数:
359