0 / 0 / 0
Регистрация: 05.04.2015
Сообщений: 13

Вызвано исключение в Test.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000000

01.11.2015, 16:31. Показов 1716. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять в чем проблема есть код
CPP фаил
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#include "cube.h"
struct Vertex
{
    Vertex() {}
    Vertex(
        float x, float y, float z
        )
    {
        _x = x;  _y = y;  _z = z;
    }
    float _x, _y, _z;
};
#define FVF_VERTEX (D3DFVF_XYZ)
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE)  // Формат вершин
 
HRESULT cube::InitialObject()
{
    Device->CreateVertexBuffer(
        24 * sizeof(Vertex),
        D3DUSAGE_WRITEONLY,
        FVF_VERTEX,
        D3DPOOL_MANAGED,
        &_vb,
        0);
 
    Vertex* v;
    float W = 1.0f, H = 1.0f, L = 1.0f;
    _vb->Lock(0, 0, (void**)&v, 0);
 
    // build box
 
    // fill in the front face vertex data
    v[0] = Vertex(-W, -H, -L);
    v[1] = Vertex(-W, H, -L);
    v[2] = Vertex(W, H, -L);
    v[3] = Vertex(W, -H, -L);
 
    // fill in the back face vertex data
    v[4] = Vertex(-W, -H, L);
    v[5] = Vertex(W, -H, L);
    v[6] = Vertex(W, H, L);
    v[7] = Vertex(-W, H, L);
 
    // fill in the top face vertex data
    v[8] = Vertex(-W, H, -L);
    v[9] = Vertex(-W, H, L);
    v[10] = Vertex(W, H, L);
    v[11] = Vertex(W, H, -L);
 
    // fill in the bottom face vertex data
    v[12] = Vertex(-W, -H, -L);
    v[13] = Vertex(W, -H, -L);
    v[14] = Vertex(W, -H, L);
    v[15] = Vertex(-W, -H, L);
 
    // fill in the left face vertex data
    v[16] = Vertex(-W, -H, L);
    v[17] = Vertex(-W, H, L);
    v[18] = Vertex(-W, H, -L);
    v[19] = Vertex(-W, -H, -L);
 
    // fill in the right face vertex data
    v[20] = Vertex(W, -H, -L);
    v[21] = Vertex(W, H, -L);
    v[22] = Vertex(W, H, L);
    v[23] = Vertex(W, -H, L);
 
    _vb->Unlock();
 
    Device->CreateIndexBuffer(
        36 * sizeof(WORD),
        D3DUSAGE_WRITEONLY,
        D3DFMT_INDEX16,
        D3DPOOL_MANAGED,
        &_ib,
        0);
 
    WORD* i = 0;
    _ib->Lock(0, 0, (void**)&i, 0);
 
    // fill in the front face index data
    i[0] = 0; i[1] = 1; i[2] = 2;
    i[3] = 0; i[4] = 2; i[5] = 3;
 
    // fill in the back face index data
    i[6] = 4; i[7] = 5; i[8] = 6;
    i[9] = 4; i[10] = 6; i[11] = 7;
 
    // fill in the top face index data
    i[12] = 8; i[13] = 9; i[14] = 10;
    i[15] = 8; i[16] = 10; i[17] = 11;
 
    // fill in the bottom face index data
    i[18] = 12; i[19] = 13; i[20] = 14;
    i[21] = 12; i[22] = 14; i[23] = 15;
 
    // fill in the left face index data
    i[24] = 16; i[25] = 17; i[26] = 18;
    i[27] = 16; i[28] = 18; i[29] = 19;
 
    // fill in the right face index data
    i[30] = 20; i[31] = 21; i[32] = 22;
    i[33] = 20; i[34] = 22; i[35] = 23;
 
    _ib->Unlock();
    return S_OK;
}
 
VOID cube::Matrix()
{
    D3DXMATRIX MatrixWorld;      //  Мировая матрица (MatrixWorld)
    D3DXMATRIX MatrixView;       //  Матрица вида (MatrixView)
    D3DXMATRIX MatrixProjection; //  Матрица проекции (MatrixProjection)
                                 // MatrixWorld
    UINT  Time = timeGetTime() % 5000;
    FLOAT Angel = Time * (2.0f * D3DX_PI) / 5000.0f;
    D3DXMatrixRotationX(&MatrixWorld, Angel);
    Device->SetTransform(D3DTS_WORLD, &MatrixWorld);
    // MatrixView
    D3DXMatrixLookAtLH(&MatrixView, &D3DXVECTOR3(0.0f, 0.0f, -8.0f),
        &D3DXVECTOR3(0.0f, 0.0f, 0.0f),
        &D3DXVECTOR3(0.0f, 1.0f, 0.0f));
    Device->SetTransform(D3DTS_VIEW, &MatrixView);
    // MatrixProjection
    D3DXMatrixPerspectiveFovLH(&MatrixProjection, D3DX_PI / 4, 1.0f, 1.0f, 100.0f);
    Device->SetTransform(D3DTS_PROJECTION, &MatrixProjection);
}
 
VOID cube::RenderingDirect3D()
{
    if (Device == NULL)        // Проверяем ошибки
        return;
 
 
    Device->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(255, 255, 0), 1.0f, 0);
    // Начало сцены
    Device->BeginScene();
 
    // Здесь происходит прорисовка сцены
    Matrix();
 
    Device->SetStreamSource(0, _vb, 0, sizeof(Vertex));
    Device->SetFVF(D3DFVF_CUSTOMVERTEX);
    Device->SetIndices(_ib);
 
    // Вывод объекта
    Device->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 36, 0, 12);
    // Конец сцены
    Device->EndScene();
 
    Device->Present(NULL, NULL, NULL, NULL);
}
 
VOID cube::DeleteDirect3D()
{
    if (_ib != NULL)
        _ib->Release();
 
    if (_vb != NULL)
        _vb->Release();
 
    if (Device != NULL)
        Device->Release();
 
    
}
H фаил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#pragma once
#include "Include.h"
 
class cube
{public:
    HRESULT InitialObject();
    VOID Matrix();
    VOID RenderingDirect3D();
    VOID DeleteDirect3D();
private:
    IDirect3DDevice9*               Device;
    D3DXMATRIX                      _world;
    IDirect3DVertexBuffer9*         _vb;
    IDirect3DIndexBuffer9*          _ib;
};
выдает такую ошибку :
Вызвано исключение по адресу 0x002019DC в Test.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000000.

Если для этого исключения имеется обработчик, выполнение программы может быть продолжено безопасно.
в этой строчке:
C++
1
2
3
4
5
6
7
    Device->CreateVertexBuffer(
        24 * sizeof(Vertex),
        D3DUSAGE_WRITEONLY,
        FVF_VERTEX,
        D3DPOOL_MANAGED,
        &_vb,
        0);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.11.2015, 16:31
Ответы с готовыми решениями:

В цикле ожидания windows message Нарушение прав доступа при чтении "0xfeeeff9a"
Пытаюсь разобраться со вторым примером от Microsoft. Привожу код, который дает сбой: while( msg.message != WM_QUIT ) { ...

Вызвано исключение по адресу 0x013C1891 в Jacobi.exe: 0xC0000005: нарушение прав доступа при чтении по адресу
#include <math.h> const double eps = 0.001; ///< желаемая точность /// N - размерность матрицы; A - матрица коэффициентов, F -...

Вызвано исключение по адресу 0x01083191 в ConsoleApplication.exe: 0xC0000005: нарушение прав доступа при чтении по адрес
Вызвано исключение по адресу 0x01083191 в ConsoleApplication.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00DEF5E9. ...

3
1 / 1 / 0
Регистрация: 14.02.2014
Сообщений: 28
05.11.2015, 06:13
Цитата Сообщение от sedoy21 Посмотреть сообщение
Vertex* v; float W = 1.0f, H = 1.0f, L = 1.0f; _vb->Lock(0, 0, (void**)&v, 0);
Нужно: _vb->Lock(0, 24*sizeof(Vertex), (void**)&v, 0); Тоже самое и с индексами.
0
1 / 1 / 0
Регистрация: 20.07.2017
Сообщений: 19
21.07.2017, 18:26
Косячный код, но исключений нет, все работает нормас
C++
1
2
3
4
5
6
7
8
9
10
11
12
    
    LPDIRECT3DVERTEXBUFFER9 vBuf = NULL;
    void* Verts = NULL;
    dev->CreateVertexBuffer(sizeof(Triangle), D3DUSAGE_WRITEONLY, D3DFVF_CUSTOMVERTEX, D3DPOOL_DEFAULT, &vBuf, 0);
    vBuf->Lock(0, 0, &Verts, 0);
    memcpy(Verts, Triangle, sizeof(Triangle));
    vBuf->Unlock();
    dev->SetStreamSource(0, vBuf, 0, sizeof(Vertex3D));
    dev->SetFVF(D3DFVF_CUSTOMVERTEX);
    dev->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2);
    dev->Present(0, 0, 0, 0);
    vBuf->Release();
0
 Аватар для Byurrrer
6 / 6 / 0
Регистрация: 28.10.2017
Сообщений: 17
28.10.2017, 21:01
Цитата Сообщение от sedoy21 Посмотреть сообщение
в этой строчке:
C++
1
2
3
4
5
6
7
Device->CreateVertexBuffer(
24 * sizeof(Vertex),
D3DUSAGE_WRITEONLY,
FVF_VERTEX,
D3DPOOL_MANAGED,
&_vb,
0);
Если именно на этой тогда скорее всего Device не инициализирован.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.10.2017, 21:01
Помогаю со студенческими работами здесь

Вызвано исключение по адресу 0x003F2357 в Лабораторна 15.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x
Что это такое и как это исправить? Вот фрагмент кода где и есть проблема: ... int size = 9; int **intMas =...

Вызвано исключение по адресу 0x01068781 в 2nd.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0xCCCCCCCC
Доброго времени суток, кто может помочь по вопросу? Постоянно выбивает ошибку. Мне кажется, там еще память не выделена, но я не полностью...

Вызвано исключение по адресу 0x01361A1E в Matrix 1.0.exe: 0xC0000005: нарушение прав доступа при записи
Вызвано исключение по адресу 0x01361A1E в Matrix 1.0.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0xCDCDCDCD. Если для...

Необработанное исключение по адресу 0x001B3371 в XXX.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDF
Делал консольную змейку и столкнулся вот с такой проблемой. void stena(char **arr) { int y = 0; int x = 0; ...

Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
Программа толком не написан, проверял ранд и возникли проблемы. Ф-ция ранд генерирует одно и тоже число, но если убрать srand(time(0));,...


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

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

Новые блоги и статьи
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru