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

LINUX 下使用 MAP,执行时报错,求助,

    来源: 互联网  发布时间:2017-05-11

    本文导语:  typedef unsigned long       DWORD; typedef struct _tagStructPlatformService { DWORD dwId; DWORD dwFunctionId; DWORD dwCount; }StructPlatformService; typedef map CMapPlatformService; StructPlatformService *pStructPlatformService = new StructPlatformService; pStr...

typedef unsigned long       DWORD;
typedef struct _tagStructPlatformService
{
DWORD dwId;
DWORD dwFunctionId;
DWORD dwCount;
}StructPlatformService;
typedef map CMapPlatformService;

StructPlatformService *pStructPlatformService = new StructPlatformService;
pStructPlatformService->dwId=atoi(pData[0]);
pStructPlatformService->dwFunctionId=atoi(pData[1]);
pStructPlatformService->dwCount =atoi(pData[2]);
DWORD nKey=pStructPlatformService->dwId;
CMapPlatformService::iterator itr=m_pStructDatabaseMapManage->mapPlatformService.find(nKey);
在执行到find(nKey)程序就崩溃了,
bt内容如下:
(gdb) bt
#0  0x08058166 in std::less::operator() (this=0x8122ad0, __x=@0xb8000010, __y=@0xb6e16ba8)
    at /usr/lib/gcc/i686-redhat-linux/4.4.6/../../../../include/c++/4.4.6/bits/stl_function.h:230
#1  0x08059025 in std::_Rb_tree::_M_lower_bound (this=0x8122ad0, __x=0xb8000000, __y=0x8122ad4, __k=@0xb6e16ba8)
    at /usr/lib/gcc/i686-redhat-linux/4.4.6/../../../../include/c++/4.4.6/bits/stl_tree.h:986
#2  0x08057f10 in std::_Rb_tree::find (this=0x8122ad0, __k=@0xb6e16ba8)
    at /usr/lib/gcc/i686-redhat-linux/4.4.6/../../../../include/c++/4.4.6/bits/stl_tree.h:1421
#3  0x0805705a in std::map::find (this=0x8122ad0, __x=@0xb6e16ba8)
    at /usr/lib/gcc/i686-redhat-linux/4.4.6/../../../../include/c++/4.4.6/bits/stl_map.h:659

程序在写完后一直没有问题,突然有一天执行,就崩溃了。
还有在未初初化的情况下执行:
m_StructDatabaseMapManage.mapPlatformService.clear();
也会崩溃。
研究了好久都没有解决。向大大们求助了。

|
代码没看出什么问题,如果运行了一段时间后才出错的话,也可能是其它地方引起的,比如在同一个栈内的数组越界,破坏了mapPlatformService的内存。

还有在未初初化的情况下执行:
m_StructDatabaseMapManage.mapPlatformService.clear();
也会崩溃。

建议另建立一个小的测试工程,看看是否也会崩溃,然后再比较正式项目的写法。

|
最重要的堆栈信息是最后几个,你给了最上面的几个,木用。
m_pStructDatabaseMapManage为空否?
mapPlatformService合法否?

    
 
 

您可能感兴趣的文章:

  • Linux安装Oracle 11时报错DISPLAY解决方案
  • 求救:linux 执行sort时报Segmentation fault 错误
  • 求教,图形化安装linux9后,并绑定ip为192.168.0.18,在服务配置启动httpd服务时报错。
  • linux内核2.4.20-8升级到2.6.0时报错,如下
  • 在win下开发的struts项目在linux服务器上运行时报以下错误,请高手指点····
  • Linux下命令行启动oracle时报错的解决
  • linux安装appache时报错
  • Linux系统下,Tomcat启动有时报Address already in use<null>:8080
  • 编译内核时报错:/home/linux-2.6.16/kernel/gcov/gcov-core.c:144: syntax error before "gcov_version"
  • linux下通过crond实现自动执行程序
  • 菜鸟请教:linux 直接执行可执行文件
  • linux下nm命令(显示可执行文件的符号信息)介绍以及常见nm命令用法举例
  • 如何在LINUX中在系统启动后自动执行一个执行一个程序?
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • linux在脚本执行命令和直接在命令行执行命令有什么区别
  • linux下不使用sudo命令执行docker的操作步骤
  • linux设备驱动执行完__init之后就执行__devinit吗
  • 很菜的问题——Linux(RedHat8)下的齿轮图标程序如何执行,是什么shell命令可以执行它?
  • 请问LINUX7.2下,哪条命令是查看系统上曾经执行过的执行命令?(包括启动以前的)
  • 如何用JAVA执行本机Linux操作系统的可执行文件?一定给分!在线等待!
  • linux shell脚本 linux crond 的一个鲜为人知的错误,单独执行没问题,放到crond 中就执行出错 试问高手们哪个环节出错
  • 入门的问题。在Linux上如何执行一个可以执行的文件?
  • Linux下的执行文件是什么概念,是象Dos里的2进制机器码吗,怎么看一个文件是不是执行文件.
  • linux 中可执行程序执行时./a.out怎么去掉 "./" ? ? ?
  • 我需要一个模型,在 LINUX C 下。实现线程间的控制,执行,阻塞,再执行。。。。。不知道如何实现。
  • Linux下自动执行命令的问题,哪位Linux高手帮帮我.
  • 小弟刚学linux,问个超级幼稚的问题~-linux下怎么执行程序?
  • 可以让soleris下编译的可执行文件运行在linux下吗???
  • window下通过ftp执行linux脚本?
  • linux 下子线程不能执行的问题?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助:linux下 vim的配置(高分求助)
  • 求助!为什么linux下FTP允许windows登录而不允许linux登录?在线等
  • 求助关于linux和windows引导lilo的问题
  • 求助!!怎么在linux交叉环境下移植SOAP协议?
  • 新装linux求助
  • 求助:新氧Linux中文定制版V0.1主题包
  • Opengl Linux多线程 求助
  • linux webserver求助一下
  • 100分求助:关于linux下配置sendmail的问题
  • 急求助!安装linux后重装windows的问题
  • 求助,linux下如何使用函数更改时区,例如设置美国时区 谢谢
  • mini2440开发,linux求助
  • linux的 iptables问题求助
  • 求助~~求助 ~~linux文件读写问题
  • 求助:linux系统断电后无法正常启动
  • 求助访问linux下jboss应用程序?
  • linux配置samba服务器求助!!!
  • 【求助】如何通过外网访问Linux服务器?
  • 求助,在Linux下当文件夹大小超过1G时,删除文件夹内容
  • 急!!!小弟刚刚接触linux 在线求助<很简单的问题>
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • Linux安装Oracle 11时报错DISPLAY解决方案 iis7站长之家
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


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

    ©2012-2021,