Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
1 / 1 / 1
Регистрация: 19.07.2016
Сообщений: 118

JIT-отладчик или необработанные исключения

24.10.2017, 10:38. Показов 2088. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Писал код на c++ opengl, запускается нормально, компилится, но после закрытия окна на крестик(успешно) выскакивал jit чтобы откомпилировать исключение или что то того. Вырубил его в Сервис -> параметры -> jit в visual studio, но потом все ровно выскакивает ОШИБКА об ОШИБКЕ что он не включен. Почему даже после успешной компиляции и работы программы у меня всё равно появляется это окно, и как его убрать вообще? Порой его появление в буквальном смысле зависело от экспериментов с кодом, к примеру написал ли я window.display одной строкой ранее или же glewInit().
Понимаю что от вида кода вряд ли зависит, но зачем он нужен, серьезное что?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.10.2017, 10:38
Ответы с готовыми решениями:

Direct3D и необработанные исключения
Direct3D начал изучать опять же - только что. И на примитивнейшем, казалось бы, примере, пишет ошибку. Скриншот ошибки. #include...

Необработанные исключения в MS Visual 2010
Причиной чего может быть это сообщение и как его решить? У меня идет проверка в 3ех мерном массиве пересечения фигур и где то при проверке...

JIT отладчик
Visual Studio была удалена с компьютера.теперь каждую минуту вылезает данное окно как исправить эту проблему?

9
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
24.10.2017, 10:55
Цитата Сообщение от Сергей Мишин Посмотреть сообщение
после закрытия окна на крестик(успешно) выскакивал jit чтобы откомпилировать исключение или что то того
А по подробнее? Какой код ошибки, сообщение какое выводится?
backtrace?
Скорее всего не освободились какие-то ресурсы или освобождаются с ошибкой. Это может быть и от неправильной инициализации, порядок может иметь очень большое значение. Например, нужно сначала создать окно, потом контекст OpenGL (будет выбрана нужная версия OpenGL), потом только загрузить функции OpenGL. Без этого нельзя будет использовать функции типа gl* . Это касается именно загруженного OpenGL
0
1 / 1 / 1
Регистрация: 19.07.2016
Сообщений: 118
24.10.2017, 12:18  [ТС]
Объясни что такое контекст, и какие имено функции opengl нужно загрузить?(если ты про шейдеры то с ними всё ок)

Я юзаю SFML так что у меня есть цикл while(окно) и всё что вне этого цикла.
Вне цикла окна: glewInit() vbo, vao(так как много писанины) и шейдеры
Вообщем тут срр файл:
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
#include <iostream>
#include <GL/glew.h>
#include <glm/glm.hpp>
#include <SFML/Graphics.hpp>
#include<SFML/OpenGL.hpp>
#include "AdoptedFunc.h"
 
using namespace sf;
 
 
 
const GLchar* vs = "#version 330 core\n"
    "layout (location = 0) in vec3 position;\n"
    "void main()\n"
    "{\n"
    "gl_Position = vec4(position.x, position.y, position.z, 1.0);\n"
    "}\0";
 
const GLchar* fs = "#version 330 core\n"
    "out vec4 color;\n"
    "void main()\n"
    "{\n"
    "color = vec4(1.0f, 0.5f, 0.2f, 1.0f);\n"
    "}\n\0";
 
int main()
{
    RenderWindow window(VideoMode(800, 600), "SFML works!");
    glewInit();
    GLuint prog = Shaders(vs,fs);
    BufferData();
 
    while (window.isOpen())
    {
        Event event;
        while (window.pollEvent(event))
        {
            if (event.type == Event::Closed)
                window.close();
            if(Keyboard::isKeyPressed(Keyboard::Escape))
                window.close();
        }
        glUseProgram(prog);
        glClearColor(0,0,0,0);
        glClear(GL_COLOR_BUFFER_BIT);
        glBindVertexArray(VAO);
            glDrawArrays(GL_POLYGON,0,4);
        glBindVertexArray(0);
        window.display();
    }
    glDeleteVertexArrays(1,&VAO);
    glDeleteBuffers(1,&VBO);
    glDeleteProgram(prog);
 
 
 
    return 0;
}
тут хеадер:
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
#include<GL/glew.h>
#include<GL/gl.h>
#include<glm/glm.hpp>
#include<SFML/OpenGL.hpp>
 
using namespace glm;
using namespace sf;
 
 
    GLuint Shaders(const GLchar *vsc,const GLchar *fsc)
    {
            GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER);
            GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
 
            glShaderSource(vertexShader,1,&vsc,NULL);
            glShaderSource(fragmentShader,1,&fsc,NULL);
 
            glCompileShader(vertexShader);
            glCompileShader(fragmentShader);
 
            GLuint program = glCreateProgram();
            glAttachShader(program,vertexShader);
            glAttachShader(program,fragmentShader);
            glLinkProgram(program);
 
            return program;
    }
 
 
GLuint VAO;
GLuint VBO;
 
 
void BufferData()
{
 
    float rectVerts[] =
    {
        -0.25,-0.5,0.0,
        -0.25,-0.25,0.0,
        0.25,-0.25,0.0,
        0.25,-0.5,0.0
    };
 
    glGenBuffers(1,&VBO);
    glGenVertexArrays(1,&VAO);
 
 
    // ============================
    // RECTANGLE
    // =========================
    glBindVertexArray(VAO);
        glBindBuffer(GL_ARRAY_BUFFER,VBO);
        glBufferData(GL_ARRAY_BUFFER,sizeof(rectVerts),rectVerts,GL_STATIC_DRAW);
        glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,3*sizeof(float),(void*)0);
        glEnableVertexAttribArray(0);
    glBindVertexArray(0);
 
}
По поводу кода ошибки тут вроде его нету
Миниатюры
JIT-отладчик или необработанные исключения  
0
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
24.10.2017, 13:17
Вы компилировали в GCC? Тогда скорее всего отладчик Visual Studio не поможет. Запустите отладку через CodeBlocks(gdb) и при ошибке посмотрите backtrace.

Мне кажется, удалять объекты нужно в обратном порядке.
C++
1
2
3
4
    
    glDeleteBuffers(1,&VBO);
    glDeleteVertexArrays(1,&VAO);    
    glDeleteProgram(prog);
0
1 / 1 / 1
Регистрация: 19.07.2016
Сообщений: 118
24.10.2017, 13:49  [ТС]
Тоесть остальной код у меня практически верный? Пипец ты мне надежду дал :^)

Сори за тупизну, что такое backtrace. и как скомпилировать gdb? или что это вообще) Я просто юзаю codeblocks с gcc нажимаю f9 для билда и компиляции, это всё что я умею(
0
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
24.10.2017, 14:10
Меню Debug -> Start/Continue . Сборка у вроде вас отладочная (debug/Test.exe) так, что символы отладчик должен видеть. При падении приложение открыть окно "call stack" и вы сможете увидеть всю цепочку вызовов до точки, где у вас возникает исключительная ошибка.

Цитата Сообщение от Сергей Мишин Посмотреть сообщение
как скомпилировать gdb
Цитата Сообщение от Сергей Мишин Посмотреть сообщение
откомпилировать исключение
Похоже у вас неправильное понимания термина компиляции. Компиляция приложения - это можно считать, что это сборка приложения. Компилятор - это транслятор языка программирования в машинный код.

gdb должен быть в папке bin каталога MinGW (или CygWin) : gdb.exe
0
1 / 1 / 1
Регистрация: 19.07.2016
Сообщений: 118
24.10.2017, 14:57  [ТС]
Спасибо) посмотрю щас
0
1 / 1 / 1
Регистрация: 19.07.2016
Сообщений: 118
24.10.2017, 15:10  [ТС]
Сделал всё как ты говорил вроде, открыл gdb.exe, туда ничего не вводил нажал дебаг вот скрин
Миниатюры
JIT-отладчик или необработанные исключения  
0
128 / 126 / 60
Регистрация: 22.01.2014
Сообщений: 464
24.10.2017, 15:34
Как же ничего нету, ошибка в nvoglnt.dll . Это по ходу компонент драйвера OpenGL от Nvidia. Других функции в списке Call stack нету, что наводит меня на мысль, что это происходит при выгрузке DLL, например при выходе из main или при вызове FreeLibrary. Значит, что-то вы намудрили с ресурсами OpenGL, что-то не так выделили или что-то не так удалили. Вы побывали мой код, где удаляется сначала VBO, а потом VAO,
0
1 / 1 / 1
Регистрация: 19.07.2016
Сообщений: 118
24.10.2017, 15:50  [ТС]
Да поменял, то же самое, в принципе, спасибо огромное за разъяснения, тут уже наверное дело в слабом компьютере или драйверами, при том что коды ранее нормально запускались, чем больше кода тем порядок путается и всякое бывает.

Добавлено через 3 минуты
Я убрал полностью vao, так как у меня всего одна фигура и ничего не будет, и работает всё прекрасно без jit окна, тогда в нём было дело получается где-то, но только где?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.10.2017, 15:50
Помогаю со студенческими работами здесь

Можно ли как-то глобально ловить необработанные исключения
Здравствуйте! Подскажите, можно ли как-то глобально ловить необработанные исключения? Работаю с сокетами и не хочется в каждом методе...

JIT - Отладчик VisualStudio
Переустановил Windows 10. Установил Visual Studio 2015. При создании проекта С# вылазит это окно &quot;JIT - отладчик Visual Studio&quot;...

Как отключить окно сообщение "Выберите JIT-отладчик"?
Как отключить сообщение &quot;Выберите JIT-отладчик&quot;? Или, что делать если оно выскакивает?

Отладчик присоединен, но не настроен на отладку данного исключения
что это за фигня и почему это вылетает??

Jit или самомодифицирующийся код
Здравствуйте, объясните, можно ли во время выполнения программы изменять код, как в Java? Т.е. в меню значок стоит слишком высоко, я меняю...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru