当前位置:  技术问答>linux和unix

C++编译问题

    来源: 互联网  发布时间:2016-01-17

    本文导语:  我用的程序可以运行得出结果后,会产生一个SIGABRT,请大家帮忙看看是什么原因,以下是用GDB调试产生的信息: *** glibc detected *** double free or corruption (!prev): 0x080892d8 ***   Program received signal SIGABRT, Aborted. 0x00b977a2 ...

我用的程序可以运行得出结果后,会产生一个SIGABRT,请大家帮忙看看是什么原因,以下是用GDB调试产生的信息:
*** glibc detected *** double free or corruption (!prev): 0x080892d8 ***
 
Program received signal SIGABRT, Aborted.
0x00b977a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) where
#0  0x00b977a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0x00bd77a5 in raise () from /lib/tls/libc.so.6
#2  0x00bd9209 in abort () from /lib/tls/libc.so.6
#3  0x00c0b72a in __libc_message () from /lib/tls/libc.so.6
#4  0x00c11fcf in _int_free () from /lib/tls/libc.so.6
#5  0x00c1234a in free () from /lib/tls/libc.so.6
#6  0x004dbe23 in operator delete (ptr=0x0)
    at ../../../gcc-3.2.3/libstdc++-v3/libsupc++/del_op.cc:39
#7  0x004c983c in std::__default_alloc_template::deallocate (
    __p=0x80892d8, __n=6)
    at /bes/soft/gcc/obj-3.2.3/i686-pc-linux-gnu/libstdc++-v3/include/bits/stl_a lloc.h:113
#8  0x003e6bde in std::_Deque_base::_M_destroy_nodes (this=0x4503c0, __nstart=0x80862e4,
    __nfinish=0x80862e8) at /usr/include/c++/3.2.3/bits/stl_alloc.h:248
#9  0x003e6aa9 in ~_Deque_base (this=0x4503c0)
    at /usr/include/c++/3.2.3/bits/stl_deque.h:451
#10 0x003e652a in zmex::ZMerrnoList::~ZMerrnoList ()
    at /usr/include/c++/3.2.3/sstream:283
#11 0x0011632e in __tcf_1 () at ZMerrno.cc:39
#12 0x00bda7a4 in __cxa_finalize () from /lib/tls/libc.so.6
#13 0x00115c1d in __do_global_dtors_aux ()
   from /home/wuyh/work/ft/CLHEP/1.9.2.3/slc3_ia32_gcc323/lib/libCLHEP-Exception ---Type  to continue, or q  to quit---
s-1.9.2.3.so
#14 0x0011a682 in _fini ()
   from /home/wuyh/work/ft/CLHEP/1.9.2.3/slc3_ia32_gcc323/lib/libCLHEP-Exceptions-1.9.2.3.so
#15 0x00ba3907 in _dl_fini () from /lib/ld-linux.so.2
#16 0x00bda527 in exit () from /lib/tls/libc.so.6
#17 0x00bc4ded in __libc_start_main () from /lib/tls/libc.so.6
#18 0x0804b1c1 in _start ()

|
举两个例子:
1. 越界产生段错误
#include "string.h"
int main()
{
char *a=new char[2];
strcpy(a,"this is a testn");
delete a;
}
2. double free
int main()
{
char *a=new char[100];
strcpy(a,"this is a testn");
delete a;
delete a;
}

|
看看你的程序,可能其它地方有内存越界的操作。

    
 
 

您可能感兴趣的文章:

  • C编译器 c++编译器 wieldylcc
  • 请教关于用c编译出来的.a文件和用c++编译出来的.a文件的互用问题
  • 怎样编译java, C++
  • Linux下怎样编译C++程序?
  • 在LINUX下的GCC编译C++的问题?
  • linux下的C++编译器怎样使用?
  • gcc与g++对于编译c++程序的区别
  • Unix下的CC能编译C++的程序吗?不是GCC
  • 关于在Ubuntu配置C++编译环境的问题
  • 请问,unix下的编译器支持c++的RTTI吗?
  • sco下常用的c++编译器有什么?在哪里下载?谢谢
  • 各位在Unix下开发,使用哪种c++编译器?
  • unix下有什么c++编译器
  • 在Linux下怎么编译C++程序?
  • 如何编译带头文件的C++程序阿??(第一次用g++)
  • 在UNIX下如何编译C++程序
  • 请问在Linux中用哪种编译器调试C++较好?
  • Linux 大家一般都用什么作为C++ 的编译工具?
  • 请问各位,java是跨平台的,但如果c++改一下编译器,也编译成字节码让虚拟机执行,是不是也跨平台了?
  • Flash的C++编译器 FlasCC
  • 关于arm交叉编译器4.3.3编译程序报错,但是3.4.5却能编译通过的问题
  • 在Linux下怎么编译C++程序? iis7站长之家
  • 编译问题,引用了别人的一个库,结果编译出问题。
  • eclipse 的c编译器编译问题
  • 关于在linux交叉编译powerpc-e300c3-linux-gcc的编译问题
  • 这个宏cc编译正常, pro*c 编译出问题,有办法解决吗?
  • 在linux+x86下用交叉编译器编译出能在solaris+x86运行的文件时遇到的问题
  • 菜鸟问题: redhat linux 编译一个最简单的c程序, 其中包含了<studio.h>头文件,但在gcc编译时,提示找不到studio.h文件,请问各位大大
  • 如果重新编译了.so文件后,但程序运行结果还是编译前的情况,大概是什么问题呢?
  • [菜鸟问题]简单的编译问题(我怎么编译不通过阿!)
  • JB的源文件在JB中可以编译,改用JDK编译,遇到一些问题,解决马上给分100!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux/centos源码安装nginx编译配置选项参数介绍
  • 请教:JSP编译器编译成字节码,跟别的编译器编译出来的有什么不同呢?
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • 编译GCC时能不能只编译C/C++的编译器?
  • 高速的网络抓包库PF_ring介绍及编译安装
  • JB下,我的程序编译得好慢!请问用什么方法编译才可以快一点?或编译顺序改变一下?
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • 用JCreator写了一个小程序,有十几个class,当修改某个文件重新编译,javac并没有编译修改的文件,请问要如何做javac才会重新编译所有的
  • 问:关于gcc编译器和g++编译器
  • 嵌入式linux开发:一段代码在windows平台用VC编译运行正常,在linux平台用gcc编译运行正常,但是用arm-linux-gcc编译在嵌入式板子上运行就不正常.
  • 在cygwin编译驱动程序要不要交叉编译?
  • 关于如何把编译进内核的编译成模块
  • Linux下gcc编译时,如何以静态链接的形式编译?
  • PROC开发时 //注释编译不通过 如何设置使用cpp编译。
  • 编译失败后如何再继续编译
  • 编译qt-x11,最后编译生成可执行文件时候,make出错
  • 如何查看已编译安装软件的编译命令行
  • 请问哪里有反编译.class文件的反编译器?
  • 用Jdk编译时出现提示要加 -deprecation 再编译,请教??
  • linux下有没有能编译出16bit代码的C语言编译器?
  • 我使用.net编译通过,但是使用g++编译不能通过。总是提示我undefined reference to ~myclass()


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3