V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  villivateur  ›  全部回复第 37 页 / 共 187 页
回复总数  3729
1 ... 33  34  35  36  37  38  39  40  41  42 ... 187  
@saturn7 嵌入式设备,要做硬件通讯,没办法
@ohwind 然而并没有……
@xiatwhu
@leonshaw
@kkhaike

感谢回复,已经排查到,见附言
@cnbatch Ubuntu20.04 已经确定修复了这个 bug
@yolee599 只有这部的代码是正常的

$ cat header.h
#pragma once

#include <stdio.h>
#include <stdint.h>
#include <string>

struct ModuleConfig
{
ModuleConfig()
{
printf("ModuleConfig::constructor\n");
}

~ModuleConfig()
{
printf("ModuleConfig::destructor\n");
}

uint32_t identity;
std::string pdoMapName;
uint32_t pdoMapInOffset;
uint32_t pdoMapOutOffset;
};

$ cat main.cpp
#include "header.h"

int main()
{
ModuleConfig* newModule = new ModuleConfig;
printf("line: %d\n", __LINE__);
newModule->identity = 243423;
printf("EEEEE %d\n", newModule->identity);
delete newModule;
printf("line: %d\n", __LINE__);
newModule = NULL;
printf("line: %d\n", __LINE__);

return 0;
}
2023-05-19 12:24:53 +08:00
回复了 renfei 创建的主题 V2EX 刚刚 V 站是挂了一下吗?我领了两次签到奖励?
我今天签到了三次了
@billccn g++ 9.4.0 ,Ubuntu 20.04 ,C++ 11
@leonshaw 哈哈,早下班了,明天再看。话说看下附言,已经确定跟 vector 没关系了,是那个 ModuleConfig 的析构函数的问题
@e7 只 push 了一次,那个 size 很大说明已经出问题了。

话说已经确认跟 vector 没关系了,问题在 ModuleConfig 的析构函数。
@imagecap printf 是因为出问题才加了调试的
@leonshaw 没有魔改,都是标准库,g++ 9.4.0
@mybyons

目前做的测试:

1. 把 ModuleConfig 里面的 std::string pdoMapName 删除,问题消失;
2. 把 testVec 定义为 std::vector<ModuleConfig*> 然后通过 new 创建对象再 push_back 指针,问题消失
@tkhmy 单线程也会崩溃
@doraf 会崩溃的
@blacktail @jones2000 @inhzus @nightwitch 我也这么怀疑的,但是我用 gdb 看了,这个程序只有两个线程,另一个线程崩溃时处于 sleep 函数(而且业务逻辑上,这两个线程不会操作同一块内存区域)。

有可能是在之前某个操作导致堆区已经坏了,然后这里触发的吗?

@ichao1214 看了,并没有多线程操作
@C47CH
@Rothschild

如果是其他部分的 bug ,但我这里的 testVec 是局部变量。难道是其他地方把堆区破坏了吗?
@nuk 分配在栈上,也没啥影响吧? push_back 会做一次 copy 的
2023-05-17 13:37:35 +08:00
回复了 YGBlvcAK 创建的主题 咖啡 有喝咖啡食道反流和口腔溃疡的吗?
我有类似情况,现在每天吃一片复合维生素 B 片,对溃疡有较明显的预防和促修复效果
2023-05-17 09:28:42 +08:00
回复了 CNN 创建的主题 Google Google 计划删除 2 年未使用的账户
@estk 不稳,我觉得你这么搞很容易被风控
2023-05-17 08:37:46 +08:00
回复了 qianyeyixi 创建的主题 Linux 新手入坑 Linux 有啥推荐的系统么
前几楼认真的吗?新手推荐 arch ???
1 ... 33  34  35  36  37  38  39  40  41  42 ... 187  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1925 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 00:33 · PVG 08:33 · LAX 16:33 · JFK 19:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.