Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.03.2020
Сообщений: 2
1

Ошибка "double free or corruption" в динамическом двумерном массиве

15.03.2020, 14:02. Просмотров 975. Ответов 3
Метки нет (Все метки)

Доброго времени. Не могу понять, почему выскакивает эта ошибка:
Кликните здесь для просмотра всего текста
*** Error in `./a.out': double free or corruption (out): 0x000000000060f030 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fbb1e1fb7e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7fbb1e20437a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7fbb1e20853c]
./a.out[0x400895]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fbb1e1a4830]
./a.out[0x400539]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:02 46140927 /home/dk/Документы/Programms/a.out
00600000-00601000 r--p 00000000 08:02 46140927 /home/dk/Документы/Programms/a.out
00601000-00602000 rw-p 00001000 08:02 46140927 /home/dk/Документы/Programms/a.out
0060f000-00630000 rw-p 00000000 00:00 0 [heap]
7fbb18000000-7fbb18021000 rw-p 00000000 00:00 0
7fbb18021000-7fbb1c000000 ---p 00000000 00:00 0
7fbb1df6e000-7fbb1df84000 r-xp 00000000 08:02 21762449 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fbb1df84000-7fbb1e183000 ---p 00016000 08:02 21762449 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fbb1e183000-7fbb1e184000 rw-p 00015000 08:02 21762449 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fbb1e184000-7fbb1e344000 r-xp 00000000 08:02 21758151 /lib/x86_64-linux-gnu/libc-2.23.so
7fbb1e344000-7fbb1e544000 ---p 001c0000 08:02 21758151 /lib/x86_64-linux-gnu/libc-2.23.so
7fbb1e544000-7fbb1e548000 r--p 001c0000 08:02 21758151 /lib/x86_64-linux-gnu/libc-2.23.so
7fbb1e548000-7fbb1e54a000 rw-p 001c4000 08:02 21758151 /lib/x86_64-linux-gnu/libc-2.23.so
7fbb1e54a000-7fbb1e54e000 rw-p 00000000 00:00 0
7fbb1e54e000-7fbb1e574000 r-xp 00000000 08:02 21758137 /lib/x86_64-linux-gnu/ld-2.23.so
7fbb1e749000-7fbb1e74c000 rw-p 00000000 00:00 0
7fbb1e772000-7fbb1e773000 rw-p 00000000 00:00 0
7fbb1e773000-7fbb1e774000 r--p 00025000 08:02 21758137 /lib/x86_64-linux-gnu/ld-2.23.so
7fbb1e774000-7fbb1e775000 rw-p 00026000 08:02 21758137 /lib/x86_64-linux-gnu/ld-2.23.so
7fbb1e775000-7fbb1e776000 rw-p 00000000 00:00 0
7ffe26cec000-7ffe26d0d000 rw-p 00000000 00:00 0 [stack]
7ffe26d11000-7ffe26d14000 r--p 00000000 00:00 0 [vvar]
7ffe26d14000-7ffe26d16000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Аварийный останов (сделан дамп памяти)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(int argc, char*argv[]){
        
    int a = 5;
    int b = 16;
    int i = 0, j = 0;
    int ** M = (int **)malloc(sizeof(int) * a);
    for (i = 0; i < a; i++){
        M[i]=(int *)malloc(sizeof(int) * b);
        for (j = 0; j < b; j++){
            M[i][j] = j;
            printf("%d\t", M[i][j]);
        }
        printf("\n");
    }
    printf("\n");
 
    for (j = 4; j < 7; j++){
            for (i = 0; i < 5; i++){
                int S = M[i][j];
                M[i][j] = M[i][14-j];
                M[i][14-j] = S;         
            }       
    }   
    
    for (i = 0; i < a; i++){
        for (j = 0; j < b; j++){
            printf("%d\t", M[i][j]);
        }
        printf("\n");
    }
    for (i=0; i < a; i++){
        free(M[i]);
    }
    free(M);
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2020, 14:02
Ответы с готовыми решениями:

Ошибка: double free or corruption (fasttop)
Я описываю метод diamond-square. Это метод для процедурной генерации мира (кому интересно - вот...

Ошибка этапа исполнения: double free or corruption (fasttop):
Доброе времени суток подскажите пожалуйста в чем может быть следующая проблема. Код который...

Поиск в массиве. Ошибка "Оператор "&&" не может применяться к операндам типа "bool" и "double""
Найти номер последнего минимального элемента среди положительных четных элементов, лежащих правее...

Вывести список из метода. Ошибка Неявное преобразование типа "System.Collections.Generic.List<double>" в "double"
Добрый день. Есть функция в библиотеке классов, расчеты в которой приводят к получению списка: ...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
3
Продавец времени
4989 / 2754 / 630
Регистрация: 12.03.2015
Сообщений: 13,333
15.03.2020, 15:03 2
Лучший ответ Сообщение было отмечено DKadans как решение

Решение

Первое, что бросается в глаза (после просмотра лога 64-битного приложения):
Ошибка "double free or corruption" в динамическом двумерном массиве
2
0 / 0 / 0
Регистрация: 15.03.2020
Сообщений: 2
15.03.2020, 17:03  [ТС] 3
Спасибо большое, так глупо ошибся
0
Продавец времени
4989 / 2754 / 630
Регистрация: 12.03.2015
Сообщений: 13,333
15.03.2020, 17:16 4
Цитата Сообщение от DKadans Посмотреть сообщение
Спасибо большое, так глупо ошибся
Чо, помогло?
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2020, 17:16

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Ошибка "*.exe вызвал срабатывание точки останова" и "HEAP CORRUPTION" при вызове деструктора программой
Здравствуйте! Сделал простенькое упражнение на указатели, но программа выдает названные ошибки. ...

Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)"
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double Akk(double x, double y, double...

Double free or corruption
Здравствуйте, вылетает такая ошибка Версия DEBUG, но всё-равно почему-то не пишет названий...

Double free or corruption (out)
std::stringstream brf; brf &lt;&lt; a.rdbuf(); char *tmp = new char(brf.length());...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.