C++怪事:一个类只能new一次,第二次就报 Bad permissions for mapped region at address(百度、qq几天无果)

leinchu 2019-08-23 02:42:41
我会c,完全不会c++,下载别人c++代码学习。

原本那个类代码是这样的:

CMailBox::CMailBox(uint16_t uid, EFDTYPE fdtype, const char* pszAddr, uint16_t unPort)
: m_bConnected(false), m_fd(0), m_fdType(fdtype), m_connectdTime(0),
m_serverName(pszAddr), m_serverPort(unPort), m_unRecvBuffLen(0), m_id(uid),
m_unServerMbType(SERVER_NONE), m_uAuthz(MAILBOX_CLIENT_UNAUTHZ), m_nSendPos(0), m_bDeleteFlag(false)
{
//m_connectdTime = time(NULL);
m_lastTickTime = m_connectdTime;

if(fdtype == FD_TYPE_MAILBOX)
{
m_timeout = OTHERSERVER_TIMEOUT;
}
else
{
m_timeout = CLIENT_TIMEOUT;
}
}

我这样调用:

CMailBox* mb0 = new CMailBox(7, FD_TYPE_MAILBOX, "127.0.0.1", 8002);
CMailBox* mb1 = new CMailBox(7, FD_TYPE_MAILBOX, "127.0.0.1", 8003);


就在CMailBox* mb1 这个报错,但第一个mb0没有报错:

==5344==
==5344== Process terminating with default action of signal 11 (SIGSEGV)
==5344== Bad permissions for mapped region at address 0x5000001
==5344== at 0x4A54E7: CMailBox::CMailBox(unsigned short, mogo::EFDTYPE, char const*, unsigned short) (mailbox.cpp:27)


把构造函数直接改简单为:


CMailBox::CMailBox()
{
cout << "Constructor called" << endl;
//this->initValues(1, FD_TYPE_SERVER, "127.0.0.1", 8001);
cout << "Constructor ended" << endl;
}


调用为:

CMailBox* mb0 = new CMailBox();
CMailBox* mb1 = new CMailBox();


同样是就在CMailBox* mb1 这个报错,但第一个mb0没有报错,错误内容不一样了:

==64250==
==64250== Process terminating with default action of signal 11 (SIGSEGV)
==64250== Bad permissions for mapped region at address 0x5000011
==64250== at 0x3F7DC9C08B: std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string() (in /usr/lib64/libstdc++.so.6.0.13)
==64250== by 0x4A550A: CMailBox::CMailBox() (mailbox.cpp:32)



百度了很多,加了好几个qq群,大家也给了各种方法,就是解决不了。。。
哭了,求帮助!
...全文
283 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
leinchu 2019-09-04
  • 打赏
  • 举报
回复

void * CMailBox::operator new(size_t size)
{
    m_lock.Lock();

    if (NULL == memPool)
    {
        expandMemoryPool();
    }

    MemoryPool *head = memPool;
    memPool = head->next;

    m_lock.Unlock();

    //LogDebug("CMailBox new", "");

    return memPool;//这里不对,应该返回 return head;
}
NorZ 2019-08-23
  • 打赏
  • 举报
回复
类的定义发来看看?
飞雪蝶映 2019-08-23
  • 打赏
  • 举报
回复
应该是继承类有什么限制,或者是有些必要参数不能用一样,可能关联到内核中比较唯一的东西。
luoyely 2019-08-23
  • 打赏
  • 举报
回复
引用 1 楼 luoyely 的回复:
https://www.baidu.com/link?url=k5ju6gfrkJtesvdTu8T2qtxzF5a0lHG4BQkVsZoGl2kDlZmffrtVLAxcbFHkkIbRBfC2IdOlOkTldG1jz2K0UGG2dtbmIRkxMMY_JGI7oanCe2eLJZVOSG5MOVkKukOIYEdilPF__9ZWJeULxeApka&wd=&eqid=be40d5e20031ee08000000035d5f9260

这个也是百度到的,你可以把源码发一下看看
luoyely 2019-08-23
  • 打赏
  • 举报
回复
https://www.baidu.com/link?url=k5ju6gfrkJtesvdTu8T2qtxzF5a0lHG4BQkVsZoGl2kDlZmffrtVLAxcbFHkkIbRBfC2IdOlOkTldG1jz2K0UGG2dtbmIRkxMMY_JGI7oanCe2eLJZVOSG5MOVkKukOIYEdilPF__9ZWJeULxeApka&wd=&eqid=be40d5e20031ee08000000035d5f9260
内容概要:本文提出了一种基于混沌系统与DNA编码的复合型彩色图像加密解密方案,旨在解决传统图像加密算法安全性不足及抗干扰能力弱的问题。方案通过混沌系统的伪随机序列对图像像素进行全局置乱,并结合DNA碱基编码的多维扩散特性实现像素值的深层混淆,构建了“置乱-扩散”双重保护机制。研究不仅系统验证了算法在密钥空间、密钥敏感性、信息熵等方面的安全性能,还重点开展了多场景、多强度的抗噪声与抗裁剪性能分析,证实了其在高斯噪声、椒盐噪声干扰及不同位置、面积裁剪攻击下的卓越鲁棒性,弥补了现有研究在实用性方面的不足。; 适合人群:具备一定信息安全、图像处理或密码学基础,从事科研或工程开发的研究生、教师及技术人员。; 使用场景及目标:①为彩色图像在网络传输、医疗影像、军事通信等高安全需求场景下的保密存储与传输提供高鲁棒性加密方案;②为研究复合型图像加密算法的设计与性能评估提供系统性参考; 阅读建议:读者应重点关注混沌与DNA编码的融合机制、加密流程设计以及抗干扰性能的测试方法,建议结合文中提到的仿真结果深入理解算法的实用性与优化方向,并可进一步探索其在视频加密或多模态数据保护中的扩展应用。
内容概要:WiFiSupply斯普莱WFS7000BDAX是一款高性能、电信工业级双射频双频分体式无线基站,支持2.4G和5.8G频段的WiFi6(802.11ax)标准,采用4T4R MIMO架构,双射频最大带宽达2974Mbps,点对点实际吞吐量超过1500Mbps。设备具备高发射功率(单射频28dBm)、超强抗干扰能力、通信延迟≤1ms、支持OFDMA、FastRoaming快速漫游、LD长距离优化协议等核心技术,配合高增益天线可实现3km覆盖或150公里点对点桥接。产品支持宽电压POE供电(12-30V,可选48V),具备IP68防护等级和-45~85℃宽温工作能力,通过多项国家级认证,适用于恶劣环境下的稳定运行。支持胖瘦一体模式、云管理平台、API对接、SNMP、SSH等丰富管理方式,提供多重加密与安全防护机制,适用于工业4.0、智慧物流、智能驾培、AGV小车、车载船载视频传输等复杂场景。; 适合人群:从事工业无线通信、网络工程、物联网系统集成的技术人员及项目决策者,具备一定网络基础知识和现场部署经验的工程师。; 使用场景及目标:①用于远距离无线桥接与大面积无线覆盖,如森林防火监控、智慧交通信号回传;②满足高密度、高移动性终端接入需求,如AMR/AGV小车组网、无人机遥控;③在强电磁干扰或极端气候环境下构建高可靠无线网络,保障视频传输、PLC控制等关键业务连续性;④通过云平台或本地服务器实现集中运维管理和安全认证。; 阅读建议:此文档为产品技术规格说明书,重点在于了解设备性能边界与适用场景,建议结合实际项目需求对照参数选型,并关注其私有协议、安全隧道、抗干扰设计等差异化功能的实际部署配置方法。

65,214

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧