- 博客(75)
- 资源 (1)
- 收藏
- 关注
转载 Linux上程序运行一段时间后,段错误,bt得其调用栈,函数A调用的下层函数栈损坏
Linux上程序运行一段时间后,段错误,bt得其调用栈,函数A调用的下层函数栈损坏。我进入A函数栈桢,查看eip,ebp寄存器,结合汇编分析,各项值都正确,实在是没法了,还求各位大神指点一下?这种栈被写坏的问题,一般是由哪些原因引起的呢?1.线程栈空间太短,而内部局部变量有如大的数组将栈写穿?但这种原因我排查了,没有这情况。还有其它什么原因呢,烦请各位神指点一下,多谢。
2012-12-31 14:28:51
533
转载 linux下的程序分析工具——gprof
gprof使用详细介绍 linux下c/c++编程gprof介绍gprof是GNU profiler工具。可以显示程序运行的“flatprofile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。还可以显示“注释的源代码”,是程序源代码的一个复本,标记有程序中每行代码的执行次数。基本用法:1. 使用-p
2012-12-31 14:27:48
510
转载 C语言获取时间函数
C语言获取时间函数C语言的标准库 函数包括一系列日期和时间处理函数,它们都在头文件中说明。下面列出了这些函数。在头文件中定义了三种类型:time_t,struct tm和clock_t。 在中说明的C语言时间函数 time_t time(time_t *timer); double difftime(time_t time1,time_t time2); s
2012-12-29 09:27:07
212
转载 C语言时间函数应用
C语言时间函数应用摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单
2012-12-29 09:26:10
155
转载 [转载]哈佛,看一眼就会明白中国缺什么
原文地址:哈佛,看一眼就会明白中国缺什么作者:森林大地哈佛,看一眼就会明白中国缺什么(到了哈佛,你才知道真正的精英并不是天才,都是要付出更多努力的人。) 美国哈佛大学图书馆凌晨4点座无虚席——哈佛,看一眼就会明白中国缺什么日前,两张美国哈佛大学图书馆凌晨4点多学生仍在学习的照片,在网上迅速传播。照片显示:凌晨4点
2012-12-02 23:50:37
197
转载 应用gdb进行调试
下面是简单命令,另外网上可以找到 gdb quick reference .pdf看到更多命令列表1. 启动 gdb 应用程序名 gdb 应用程序名 core文件名 gdb 应用程序名 pid gdb --args 应用程序名 应用程序的运行参数 帮助: help 显示帮助 info
2012-12-02 23:19:31
161
转载 gdb常用(网上摘抄)常用 GDB 调试 命令(转载)
// 查看进程的线程top -H -p PID// 将调试信息输出到文件1 #(gdb) set logging file 2 #(gdb) set logging on3 #(gdb) set height 04 #(gdb) thread apply all bt5 #(gdb) set logging offthread apply all bt // 打
2012-12-02 22:59:04
350
转载 C语言中的位域、字节序、比特序、大小端 (2012-03-22 09:19)(转载)
C语言中的位域、字节序、比特序、大小端 (2012-03-22 09:19)标签: 转载 原文地址:C语言中的位域、字节序、比特序、大小端作者:digdeep1261.比特序 / 位序 / bit numbering / bit endianness我们知道一个字节有8位,也就是8个比特位。从第0位到第7位共8位。比特序就是用来描述比特位在字节中的存放顺序的。
2012-12-02 20:39:35
442
转载 浅谈字节序
(Endianness) (2012-02-01 15:07) 标签: 转载 原文地址:浅谈字节序(Endianness)作者:cbqcgq一、字节序的起源在计算机中,字节序(Endianness)是数据中单独的可取地址的亚型(words,bytes和bits)在外部存储器中存储的顺序。通常在提到四字(ddword)、双字(dword)和字(word)的时候需要考虑其实
2012-12-01 14:02:52
231
转载 Source Insight经典教程
原文地址:http://blog.21ic.com/user1/4251/archives/2008/53650.htmlSource Insight经典教程Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。作为一个开放源代码的操作系统,Linux附带的源代码库
2012-11-04 21:35:22
169
转载 source insight 常用设置与使用技巧
原文地址:http://tgmlyj.blog.163.com/blog/static/59415229200922802932554/常用设置:1 sourceinsight screen font 的默认字体是Verdana的,它是一直变宽字体。在Document style中可以将字体改为定宽的Courier New2 勾掉indent Open Brace和Indent
2012-11-04 10:54:23
193
转载 Debug和Release区别
原文地址:http://www.cnblogs.com/JemBai/archive/2009/01/13/1374805.htmlVC下Debug和Release区别最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处,才发现原来是给定的一个数组未初始化,导致
2012-10-31 21:49:35
262
转载 德文整理一(转载请见谅)
问题一:如何快速比较两个字符串中字符完全相同?有两个字符串,比如:$str1 = 'abcdef';$str2 = 'efabcd';怎么快速比较两个字符串中字符完全相同呢,两个字符串的长度一样,只是字符排序不一样,有可能出现重复的字符。能不能正则实现?其实,这个完全可以用一个时间复杂度为O(n),空间复杂度为O(1)的算法来实现。这是百度的
2012-10-28 21:42:14
145
原创 ubuntu操作相关
1.设置ubuntu12.04默认启动字符界面要想默认不进入xwindows,只需编辑文件”/etc/default/grub”,把GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”改成GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash text”(即在GRUB_CMDLINE_LINUX_DEFAULT项的后面加上” text
2012-10-27 21:36:07
275
原创 xen虚拟机资料的整理
使用brctl show来查看网桥。这里需要注意的是:vif0.0代表的是Dom0的网络接口,vifX.0代表的是DomU的网络接口。X和DomU的id有关系。。peth0是物理网卡接口。网桥如果可以通信,vif0.0,vifX.0,peth0必须在一个网桥之下。这里的网桥类似于xenbr0,virbr0的形式。注意这里是两个不同的网桥。所以必须都在同一个网桥之下才行。如果不在的话,在DomU的c
2012-10-27 20:14:51
569
转载 scanf、getchar、gets的比较
原文地址:http://blog.csdn.net/qqgrowing/article/details/6744889scanf();输入形式:scanf("%d",&a); scanf("%s",a)(或scanf("%s",&a),不正规);一一对应:%d int ;%f float ;%lf double ;%ld long ;%I64d __int64 ;%
2012-10-17 00:47:30
214
转载 正则表达式30分钟入门教程
正则表达式30分钟入门教程别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有你想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么都记不得,那也是很正常的——我认为,没接触过正则表达式的人在看完这篇教程后,能把提到过的语法记住80%以上的可能性为零。这里只是让你明白基本的原理,以后你还需要多练习,多使用,才能熟练掌握正则表达式。
2012-10-17 00:42:20
497
转载 gnome-terminal打开最大化
原文地址:http://blog.chinaunix.net/uid-21142030-id-2750929.html每次打开都要使用最大化按钮或ALT+F10,感觉不是很方便。使用alias gnome-terminal='gnome-terminal --maximize'也只能在终端下打开新窗口时最大化,而现在一般是使用标签页的,所以用处不大,但还是添加了。最好的办法是在图标上做
2012-10-15 22:50:17
233
转载 关于C语言中return的一些总结!!!
*******************************************************************************************/*/************************关于C语言中return的一些总结!!! ************************************/*/**************
2012-10-12 00:45:47
655
转载 C语言中的break、continue和goto三者的区别与用法
break和continue的使用范围比较一致,两都可以用于循环,其中break还可以用于switch。功能上也有一定的相似性,break就相当于退学,continue则相当于跳级。对于break,程序究竟跳到哪儿比较好理解。但是continue究竟跳到哪儿去了,初学者可能有些疑惑,不妨就当它跳到了循环体最后一句语句的后面。 如果它们处在由多重循环和switch组成的圈圈里,那么它们就对包括
2012-10-12 00:36:32
1128
转载 vim设置
"=========================================================================" DesCRiption: 适合自己使用的vimrc文件,for Linux/Windows, GUI/Console"" Last Change: 2010年08月02日 15时13分"" Version: 1.80""
2012-10-09 22:46:47
154
转载 指针作参数的常见错误
一、对参数指针的地址修改参数的地址是可以修改的,修改后的地址是不可能传回给调用处的指针变量。也就是说,可以修改参数地址所指的单元的值,这是可以传回到调用处的变量里面的。#include #include #include int subFunc(int arr[3]);//交换两整数void change(int *data1, int *data2) { int
2012-10-07 00:23:16
196
转载 __attribute__机制介绍
原文地址:http://blog.csdn.net/sunboy_2050/article/details/65667391. __attribute__ GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Ty
2012-10-07 00:11:24
184
转载 #pragma pack
来自百度百科:http://baike.baidu.com/view/2317161.htm目录一、n字节的对齐方式二、#pragma pack(n) 对齐用法详解一、n字节的对齐方式 VC对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式。VC中提供了#pragma pa
2012-10-06 23:56:08
162
转载 C语言运算符优先级 详细列表
文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。恩,问这个问题的人太多了,懒得继续回答,直接贴上来自己看。。。优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]
2012-10-06 08:15:05
192
转载 单元测试的基本方法
原文地址:http://www.spasvo.com/html/ceshi/20080618-156.html泽众软件:在软件测试中,单元测试的最小单位是模块。单元测试的依据是详细设描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行软件测试。单元测试任务 单元测试任务包括:1 模块接口测试;
2012-10-04 16:25:55
151
转载 程序员的信仰
原文地址:http://www.cnblogs.com/coderzh/archive/2009/06/13/1500042.html老婆经常夸我有想法,得益于老婆大人的鼓励,我才打算将自己平时所想,所总结的东西写下来。人是需要不断总结的,有总结才会有进步。所谓总结,并不一定是多么高深的道理,多么复杂的推论,也并不一定要长篇大论。有时,一句话,或是一个瞬间,会让你明白很多。首先,严
2012-10-04 16:21:44
170
转载 gdb的基本工作原理是什么?
还是面某M的时候,面试官问我:“用过gdb么?” 答:“用过,调了两年bug了”。“那好,给我解释下gdb是怎么工作的?或者说跟内核什么地方有关系?”。是阿,gdb凭什么可以调试一个程序?凭什么能够接管一个程序的运行?我以前也想过这样的问题,但是后来居然忘记去查看了。我想到了我们的二进制翻译器,想到了intel的pin,Dynamo。这些都是将翻译后的代码放到codecache中去运行,然后接
2012-10-04 11:03:22
522
原创 map、set、list、pair网上摘抄汇总
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识
2012-10-01 10:18:35
364
转载 看我姐和我妹子如何学编程编程是一种艺术创作 德问 看我姐和我妹子如何学编程 杨玉廷 | 九月 19, 2012 | 7 评论
就像我在上一篇博文中提到的,Eva和Fong(译者注:根据博主的上一篇博文,Eva是博主的姐姐,Fong是博主的妹子)来到旧金山跟我学编程。在这篇博文中,我将记录下我教她们的方式,我构建这种学习过程的理由,以及这种学习方式奏效的原因。虽然以时间顺序列出她们在这段时间做的或学习的每一件事再容易不过,但是这毫无用处,而且读者们也会遗漏重点。了解学习过程中的细节并且明白它起作用的原因至关重要。所以我会从
2012-09-28 23:33:37
3699
转载 编程是一种艺术创作 德问 程序员,你会问问题吗?(来自德问)
本文作者:池建强 | 原文地址:程序员,你会问问题吗?由于一直从事技术和平台产品方面的工作,我们部门经常会收到公司内外同事和同仁的问题邮件,有些好的问题能让你发现自己技术上的缺陷、产品的bug或提升的空间,去思考、回答和解决这样的问题真是一件让人愉悦,充满挑战和成就感的事情。但是非常遗憾的是,这样的好问题却是凤毛麟角。我经常会被一些莫名其妙的问题搞的啼笑皆非,比如:程序运行过程中突
2012-09-28 22:58:31
1091
转载 C语言详解sizeof
原文地址:http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。 它并不是函数。 sizeof操作符以字节形式给出了其操作数的存储大小。 操作数可以是一个表达式或括在括号内的类型名。 操作数的存储
2012-09-26 23:56:46
418
转载 C语言的内存布局问题
1 。 每次都会遇到这个问题,一直是看了又忘,忘了又看。本文主要简介一下c中的内存类型和布局问题。 2。内存的类型 (1)栈区(stack):由编译器自动分配和释放的,存放函数的参数值、局部变量的值等。操作方式类似数据结构中的栈。 在函数参数和地址入栈情况中,一般是从左向右将变量入栈,最后函数的地址入栈。 (2)堆区(hea
2012-09-26 23:55:34
587
转载 C语言中extern的作用
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗?
2012-09-26 23:53:45
460
转载 关键字typedef用法(转)
C/C++语言中的typedef相信大家已经不陌生,本文对C/C++语言关键字typedef的各种用法作一个介绍。typedef,顾名思义,为“类型定义”,可以解释为:将一种数据类型定义为某一个标识符,在程序中使用该标识符来实现相应数据类型变量的定义。例如: typedef unsigned int UINT;int main (int argc, char *argv[]){
2012-09-26 23:46:12
143
转载 深入理解C/C++数组和指针
版权所有,转载请注明出处,谢谢!http://blog.csdn.net/walkinginthewind/article/details/7044380C语言中数组和指针是一种很特别的关系,首先本质上肯定是不同的,本文从各个角度论述数组和指针。一、数组与指针的关系数组和指针是两种不同的类型,数组具有确定数量的元素,而指针只是一个标量值。数组可以在某些情况下转换为指针,当数组名
2012-09-26 23:26:06
399
转载 关于ASSERT(断言)使用的规则--摘自《高质量C/C++编程指南》
程序一般分为Debug 版本和Release 版本,Debug 版本用于内部调试,Release 版本发行给用户使用。断言assert 是仅在Debug 版本起作用的宏,它用于检查“不应该”发生的情况。示例6-5 是一个内存复制函数。在运行过程中,如果assert 的参数为假,那么程序就会中止(一般地还会出现提示对话,说明在什么地方引发了assert)。void *memcpy(void
2012-09-26 22:53:07
498
转载 联合体内存对齐
union DATE{ char a; int i[5]; double b;};DATE max;cout sizeof(max) endl;这个问题很好回答,并且我把这个问题归结于基本概念题(就是入门书必须介绍的)。我想一般来说,做过内存管理的,对这个语言特性肯定不会陌生。摘几句The C Programming Language里面讲述这个
2012-09-26 22:49:31
448
转载 32位和64位数据类型区别
数据类型 32位 64位 char 1 1 int 4 4 long 4 8 float 4 4 double 8 8 long double 12 16 long long88sizeof(char),sizeof(char*
2012-09-26 22:25:02
252
转载 GDB中应该知道的几个调试方法
一、多线程调试多线程调试可能是问得最多的。其实,重要就是下面几个命令:info thread 查看当前进程的线程。thread 切换调试的线程为指定ID的线程。break file.c:100 thread all 在file.c文件第100行处为所有经过这里的线程设置断点。set scheduler-locking off|on|step,这个是问得最多的。在使用step或者co
2012-09-24 22:42:30
318
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人