交叉编译gdb和gdbserver 1.下载gdb:下载地址为:http://ftp.gnu.org/gnu/gdb/按照一般的想法,最新版本越好,因此下载7.2这个版本.当然,凡事无绝对.我们以gdb-7.2.tar.bz2 这个文件为例.2.解压缩: $ tar jxvf gdb-7.2.tar.bz2 注:小技巧:Linux下一般压缩文件后缀为.tar.bz2和.tar.gz,它们解压命令有两三个选项是一致的: xf(v),前者再加上j选项,后者再加上z选项. 3.进入该目录 $ cd g…
环境准备 首先肯定是要下载xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin文件,这是官方提供的linux下交叉编译链安装文件,下载地址为:https://pan.baidu.com/s/1eSP85nO. 安装交叉编译环境工作: 1.由于安装文件只能在bash下运行,所以要将dash改为bash,输入以下指令: sudo dpkg-reconfigure -plow dash 选择No,切换到bash. 2.建立一个文件夹作为安装路径: 我的指定的安装…
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元.  ---------------------------------------------------------------------------------…
列出一些常见问题: 一,如何使用core文件 使用core文件 在core文件所在目录下键入: gdb -c core 它会启动GNU的调试器,来调试core文件,并且会显示生成此core文件的程序名,中止此程序的信号等等. 如果你已经知道是由什么程序生成此core文件的,比如MyServer崩溃了生成core.12345,那么用此指令调试: gdb -c core MyServer 以下怎么办就该去学习gdb的使用了 一个小方法来测试产生core文件 直接输入指令:kill -s SIGSEG…
使用gdb和core dump迅速定位段错误 关键字:gdb.段错误.core dump 一.什么是core dump core:内存.核心的意思: dump:抛出,扔出: core dump:前提:当某程序崩溃的一瞬间,内核会抛出当时该程序进程的内存详细情况,存储在一个名叫core.xxx(xxx为一个数字,比如core.699)的文件中. 二.更改生成的core文件的大小限制 可见,core文件是内核生成的,那某一个进程因为段错误而崩溃的时候的内存映像很大,那必然会生成一个很大的core文件…
使用 gcc -g test.c -o test.out 编译程序,只有加-g参数才支持gdb调试: 然后 gdb ./test.out 运行可执行文件,进入gdb调试模式(gdb),在括号后面的输入命令: (gdb)help:查看命令帮助 (gdb)start:单行执行 (gdb)l:查看源程序 (gdb)n:执行下一行 (gdb)s:进入被调函数里面 (gdb)bt:查看函数调用栈 (gdb)p 变量:打印变量值 (gdb)f:切换函数栈帧 (gdb)run:重新开始运行文件 (gdb)fi…
关于gdb调试core文件总是一堆问号的问题 问题描写叙述:已经在编译选项中增加了-g,可是查看core文件时.还是一堆问号,使用的命令为:gdb -c core 解决方式:因为gdb -c core这种使用在有些系统下支持不是非常好.所以推荐用例如以下两种方法: 1) gdb exe (gdb) core-file core 2) gdb -c core (gdb) file exe 而当中另外一种方法在某些系统上也是不好用的,所以就用第一种就可以.…
在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法. 一般我们在使用cp命令时加上-f选项,希望不让出现“overwrite”的提示(文件覆盖的提示).如:# cp -rf sourcefile targetdir 或#cp -r -f sourcefile targetdir-r的意思是递归复制,也就是复制文件夹及其下所有文件.-f的意思是遇到同名的文件时不提示,直接覆盖. 但是为什么加上-f了,还出现“overwrite”的提示呢? 这是因为系统为防止我们…
交叉编译环境的linaro-gdb可以用了,结果打开core文件,显示堆栈都是?? aarch64-linux-gun-gdb ./test core warning: /lib/libpthread.so.0': Shared library architecture unknown is not compatible with target architecture aarch64.warning:'/lib/libdl.so.2': Shared library architecture…
平台:tq2440 GCC:  gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176) 这里过程中参考了下面两篇博文: http://blog.csdn.net/hejianhua/article/details/7254836 http://blog.csdn.net/fly_qj/article/details/8272555 1.下载gdb 下载地址为:http://ftp.gnu.org/gnu/gdb/ 我们以gdb-7.9.tar.xz 这个…
原地址:http://blog.csdn.net/shaovey/article/details/2744487 linux下如何产生core,调试core 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数. 1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关.若结果为0,则表示关闭了此功能,不会生成core文件. 2)使用ul…
http://alex09.iteye.com/blog/647128 大致总结了一下linux下各种格式的压缩包的压缩.解压方法. .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压 1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 和 .tgz 解压:ta…
简介 之前也在linux下安装过oralce,可每次都是迷迷糊糊的,因为大脑一片空白,网上随便看见一个文档就直接复制,最后搞了乱七八糟,虽然装上了,却乱得很,现在记录下来,希望能给其他网上朋友遇到问题时提供点帮助,该篇文件借鉴大量网友的总结,首先谢谢他们! 安装环境 Linux 服务器: SuSe11-linux      64/32位 Oracle服务器: Oracle11gR2      64/32位 系统要求 内存: 必须高于1G的物理内存 交换空间: 一般为内存的2倍,例如:1G的内存可…
1.打开终端,进入项目目录,输入ulimit -a ,可以看core文件大小设置(第一行),若为0, 则没有打开core dump设置. 2.ulimit -c unlimited ,core文件大小不限制.相应的,ulimit -c 200 ,core 大小为100K.可以看到,第一行变为unlimited~ 3.再次运行程序,再次出现你想要调试的错误. 这时也会生成一个core文件. 4. gdb xxx(应用程序) core ,打开core文件. 5.输入bt ,就可以查看想要的错误信息了…
GetProfiles:获取媒体信息文件 鉴权:但是在使用这个接口之前是需要鉴权的.ONVIF协议规定,部分接口需要鉴权,部分接口不需要鉴权,在调用需要鉴权的接口时不使用鉴权,会导致接口调用失败.实现鉴权的方式之一可以调用gSOAP源码中的 soap_wsse_add_UsernameTokenDigest()函数.要安装依赖库OpenSSL 实现代码: #include <stdio.h> #include <stdlib.h> #include <string.h>…
coredump文件 什么是coredump? 通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等.可以理解为把程序工作的当前状态存储成一个文件.许多程序和操作系统出错时会自动生成一个core文件. 造成程序coredump的原因很多,这里根据以往的经验总结一下: 1 内存访问越界   a) 由于使用错误的下标,导致数组访问越界   b) 搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字符串没有正常的使用结束符   c) 使用strcpy, strca…
(一)环境: 目标版:TINY6410 OS:centOS6.5 IDE:eclipse luna CDT:v8.3 GDB:V7.5 (二)环境监理 1.安装cenntos:参考其他相关文章,这里重点是JLINK操作. 2.安装eclipse:下载 http://www.eclipse.org/downloads/ 3.安装CDT:下载 http://www.eclipse.org/cdt/downloads.php 安装(参考官方的手册:http://help.eclipse.org/lun…
编写服务器端程序,很容易遇到Crash问题,比较幸运的是Linux提供了core file,保留了Crash的现场.有时候,根据当前的调用栈,并且打印出当前栈的变量就可以分析出crash的原因,但是,有时候看到调用栈却束手无策.下面就介绍自己通过GDB的几个命令的结合,发现一个crash的原因的过程. 下面让我们一起进入现场,来逐步发现其中的原因. 首先,还是运行gdb 命令,gdb wbxgs core.5797,来看看现场. [root@hfgs126 bin]# gdb wbxgs_cra…
1:下载go源码,以1.7.1版本为例: wget https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz 2:解压源码 tar -zxvf go1.7.1.linux-amd64.tar.gz -C /opt/go 3:新建GOPAHT目录 mkdir -p /opt/go/GoPath 4:修改环境变量 vim /etc/profile 5:环境变量加入: export GOROOT=/opt/go export GO…
本人最近正在学习调试技术,此处对栈溢出做一些总结. gdb的基本使用就不多扯了. 主要针对发行在外的release版本的软件出现问题时的调试. 一般来讲,查看堆栈就是使用bt,这个时候加上bt full会让你更加满意,因为这里面可以显示出局部变量信息. 另一点是查看寄存器中的值,主要是sp和ip.指令:i r 查看内存信息,指令x.x/???这个?代表某种格式,比如x/10xw $sp以十六进制显示栈指针开始的地址10个字节的内容. i files这个指令可以查看当时文件加载到内存时的映射信息,…
运行程序死掉  找不到原因啊..gdb 跟踪与堆栈信息 贴出来了 麻烦大佬们看一下,给个回复,不胜感激!! Core was generated by `./scene_s0037 10037'.Program terminated with signal 11, Segmentation fault.#0 GetStackTraceWithContext (result=0x7ffeb02f9d78, max_depth=63, skip_count=0, ucp=<value optimiz…
用 ./ 运行bash脚本文件出现 报错信息 /usr/bin/env: "bash\r": 没有那个文件或目录 错误原因:这主要是因为bash后面多了\r这个字符的原因.在linux终端下,输出\r会什么都不显示,只是把光标移到行首.于是终端虽然输出了/usr/bin/env bash,但是碰到\r后,光标会被移到行首,接着输出了:No such file or directory把前面的覆盖掉了.于是出现了那个莫名其妙的出错信息了 解决办法: 用vim打开sh脚本文件, 重新设置文…
January 2nd, 2009 at 10:31 pm Linux 解压, Linux, tar, tar.bz2, tar.gz, tgz, zip, 压缩, 打包, 文档 这么多年来,数据压缩对我们来说是非常有用的.无论是在邮件中发送的图片用的zip文件还是在服务器压缩数据文件,我们都可以让下载更容易或者有效的节约磁盘空间.某些压缩格式有时允许我们以60%的比率(甚至更高)压缩文件.下面我将会给大家演示如何用这些命令在Linux下面去压缩文件或者目录.我们将学习zip, tar, tar…
错误: /bin/bash^M: bad interpreter: 没有那个文件或目录 解决方案: 运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容...具体细节不管,如果验证: vim test.sh:set ff?如果出现fileforma=dos那么就基本可以确定是这个问题了.:set fileformat=unix:wq!…
这么多年来,数据压缩对我们来说是非常有用的.无论是在邮件中发送的图片用的zip文件还是在服务器压缩数据文件,我们都可以让下载更容易或者有效的节约磁盘空间.某些压缩格式有时允许我们以60%的比率(甚至更高)压缩文件.下面我将会给大家演示如何用这些命令在Linux下面去压缩文件或者目录.我们将学习zip, tar, tar.gz和tar.bz2等压缩格式的基本用法.这几个是在Linux里面常用的压缩格式. 在我们探究这些用法之前,我想先跟大家分享一下使用不同压缩格式的经验.当然,我这里讲到的只是其中…
.a 文件的结构和.tar文件就没有什么区别. x 命令解出来, a 命令添加, t命令列表 假设A.a, B.a C.a 在/usr/local/lib目录下 mkdir /tmp/libABC cd /tmp/libABC ar x /usr/local/lib/A.a ar x /usr/local/lib/B.a ar x /usr/local/lib/C.a ar cru libABC.a *.o ranlib libABC.a…
说明:+n 大于 n, -n 小于 n, n 相等于 n. find / -amin -30 -ls # 查找在系统中最后30分钟访问的文件find / -atime -2 -ls # 查找在系统中最后48小时访问的文件find / -mmin -10 -ls # 查找在系统中最后10分钟里修改过的文件find / -mtime -1 -ls # 查找在系统中最后24小时里修改过的文件find / -cmin -10 -ls # 查找在系统中最后10分钟里被改变状态的文件find / -ctim…
以tree实用程序(以树型结构获取目录树)为例,介绍Ubuntu中如何管理源码包,包括查询,获取,编译源码包,直至安装.   1) 在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项 2) 使用如下命令获取tree源码包的详细信息: sudo apt-cache showsrc tree      这用来查询当前镜像站点中是否有该源码包.   3)源码包中通常包含3个文件,分别以dsc,orig.tar.gz和diff.gz为后缀名.使用”a…
什么是core dump   linux下用core和gdb查询出现"段错误"的地方 http://blog.chinaunix.net/uid-26833883-id-3193279.html 有些时候我们在一段C代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了"段错误". 呵呵,这种问题我想很多人会经常遇到.遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没 有,如果我们一味的去看代码找太疼苦了,因为我们都相信自…
转自:http://blog.chinaunix.net/uid-30091091-id-5754288.html 原文地址:linux下用core和gdb查询出现"段错误"的地方 作者:草根老师 有些时候我们在一段C代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了"段错误".   呵呵,这种问题我想很多人会经常遇到.遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没 有,如果我们一味的去看代码找太疼苦了,因为我们都…