Аутентификация OAuth в Python
py-thonny 22.05.2025
OAuth (Open Authorization) — это целый стандарт для делегированного доступа. Звучит занудно? Давайте проще: OAuth позволяет приложениям получать доступ к информации пользователя на сторонних сервисах. . .
Хеширование и соль паролей в веб-приложениях C#
stackOverflow 22.05.2025
Когда-то в начале своей карьеры я тоже грешил простейшими подходами к хранению паролей – MD5-хеширование казалось верхом защиты. Но технологии не стоят на месте, вычислительные мощьности растут, и. . .
Генераторы Python для эффективной обработки данных
AI_Generated 21.05.2025
В Python существует инструмент настолько мощный и в то же время недооценённый, что я часто сравниваю его с тайным оружием в арсенале программиста. Речь идёт о генераторах — одной из самых элегантных. . .
Чем заменить Swagger в .NET WebAPI
stackOverflow 21.05.2025
Если вы создавали Web API на . NET в последние несколько лет, то наверняка сталкивались с зелёным интерфейсом Swagger UI. Этот инструмент стал практически стандартом для документирования и. . .
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону «идеального ORM» особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL.
Что. . .
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js — вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями — этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический «топ-3 хакерских фаворитов»: SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Well I spent 10 minutes on this and concluded:
at line 2721 it throws and error because KK=1 and kk-1 i.e. zero is being used as an array subscript which is out of range i.e. 1 is the smallest OK value.
2721 is subroutine ‘comp’ called at line 860 of the main program. The value of KK passed is variable K in the main program.
K seems to be the iteration number and it is initialised to 1 at line 744 and is not changed prior to the fatal comp call.
There are various code paths that could modify K but they don’t happen. I would this guess that a) the input data supplied is wrong or b) There are code bugs based on the many old school and non-standard Fortran, this latter one is quite probable looking at the code. which seems circa 1994 with some later mods.
I cannot really help any further as it would need an understanding of the code and probably take a lot of time.
EDIT. I noticed after I posted this that a few minutes earlier mecej4 has posted pretty much identical findings and conclusions, which I guess is not surprising if you follow a logical fault finding route. Maybe try to contact the github contributor to find out how they built and run the program might help.
- Forum
- General C++ Programming
- Debugging a delete error?
Debugging a delete error?
I am pretty sure I have some sort of deletion error. How would I go about debugging it? I am still not savvy with using the call stack and finding out what it can tell me. My program runs fine (or the output is correct) but at the very end it still puts out an error from a delete_scalar.cpp file.
«A breakpoint instruction (__debugbreak() statement or a similar call) was executed in Project x.exe.»
I don’t know if I want to post my whole code, but I did use Dr. memory and it said I had 0 leaks. Most likely the last delete function is causing the error.
**a friend had me add a message when the destructor happens, and I test for it once but it’s printing out 3 times.
Last edited on
The delete error is most likely that you are trying to free memory more than once. This happens when a shallow (vs. deep) copy is performed, i.e. when the pointer instead of the whole data is copied.
This can be prevented by using smart pointer (std::shared_ptr or std::unique_ptr) or a container. Depends on your needs. You should avoid using raw pointer when possible.
Assuming the struct/class uses dynamic memory, have you defined a correct copy constructor and an assignment operator (operator=)? If you haven’t then the default ones supplied are not appropriate as they do a shallow copy rather than the required deep copy.
As you haven’t provided the code, we can’t say much else without seeing it as this could be caused in several ways depending upon which the code is trying to do. With C++, just because the code gives a semblance of working this doesn’t mean it’s working correctly.
while it won’t fix errors in your code, if you set pointers to nullptr every time you delete them and every time you initialize one (unless you init to a valid pointer) you will have safe code, even if you blunder and delete twice, because deletion of nullptr does nothing & is safe, you just waste some time doing nothing there.
Its best if you figure this out so its not called more than once, and understand how to make that work, but its also best if you do the above, just for safer, more goof-proofed code.
** this won’t fix your issue if the issue is that you copied the pointer to another and deleted both.
Last edited on
It is a possibility that you have overwritten some block of memory snd corrupted the heap. If that is the case, it might show up when delete is called.
Last edited on
@jonnin yes I had realized I might need to add some nullptrs in my code, and i probably will run into the second thing you mentioned since this is a bit complicated a nullptr might not fix it. So I will try and post some code soon.
Ok I am still getting 3 destructor errors, I probably got bad advice from one of my tutors since I got help with the big 3.
I think for this I will keep smart pointers out, and probably encouraged not to use that right now.
|
|
My headers are:
|
|
here’s my destructor:
|
|
Oh shoot I think I see my error, some code has the destructor as a virtual. The other part is i am passing in clear(root). Normally I just call clear() inside the destructor, so ya it keeps deleting itself I think. My other issue is I had «source = new treenode;» after actually copying the data over, can’t do that.
Ok so I think because I have a struct of treenode in my private that is inside my binary tree class I apparently have to make the destructor virtual?
Last edited on
do you understand the diff between = and == ?
look closely.
@jonnin I re-edited it, take a look. It’s my damn laptop it likes to multi input sometimes.
Last edited on
Sleep tight guys I figured it out. I also had 2 objects in main that were created so it was normal to have multiple destructions.
Topic archived. No new replies allowed.
У меня есть бесконечный цикл, который прерывается, если пользователь выходит из главного окна. У меня в цикле выполняется следующий код:
Код: Выделить всё
unsigned int* renderableShapeIndices = new unsigned int[aNumberCreatedAtRuntime];
// Do something
delete[] renderableShapeIndices;
Затем происходит несколько итераций цикла и перестает происходить после первой итерации:
Код: Выделить всё
1st breakpoint:
A breakpoint instruction (__debugbreak() statement or a similar call) was executed in Main.exe.
2nd breakpoint:
Unhandled exception at 0x00007FF8C3B8C729 (ntdll.dll) in InTimeEngine2D.exe: 0xC0000374: A heap has been corrupted (parameters: 0x00007FF8C3BF7780).
Кто-нибудь еще сталкивался с подобными проблемами? Я понятия не имею, что происходит.
Еще один интересный фактор заключается в том, что это происходит только в режиме отладки. В режиме выпуска этого не происходит.
Подробнее здесь: https://stackoverflow.com/questions/726 … -was-execu
Привет. Возникла проблема с перегруженным оператором.
По сути он все складывает
и строку присваивает правильно (в тестовом выводе всё гуд), но на отладке, после выполнения возвращения, он меняет сроку на другую, рандомной длины.
И после завершения программы выдаёт ошибку delete_scalar.cpp
Что не так?
Date Date::operator+(const Date& other) const
{
int new_date = date + other.date;
int new_month = month + other.month;
int new_year = year + other.year;
char word[] = «Unknown»;
Date new_date_obj { new_date, new_month, new_year, word };
new_date_obj.print();
return new_date_obj;
}
15
ответов
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
тут все не так. начиная с сигнатуры вашего оператора
Всё ещё неправильно 
Всё ещё неправильно 
Мне кажется, не хватает текста ошибки.
А еще конструкторов и деструктора, при наличии
Mikail Bagishov
Мне кажется, не хватает текста ошибки.
А еще конс…
Ошибка : Инструкция точки останова (оператор __debugbreak() или аналогичный вызов) выполнена в Date1.exe.
Date::Date(int date, int month, int year, char* day_of_week)
{
this->date = date;
this->month = month;
this->year = year;
this->day_of_week = new char[strlen(day_of_week) + 1];
strcpy(this->day_of_week, day_of_week);
this->day_of_week[strlen(day_of_week)] = ‘\0’;
}
Date::~Date()
{
delete[] day_of_week;
}
Nickolas Valentine
Ошибка : Инструкция точки останова (оператор __deb…
А копирующий/перемещающий конструкторы?
Nickolas Valentine
Ошибка : Инструкция точки останова (оператор __deb…
Вы на c++ пишите. Используйте нормальные строки.
Nickolas Valentine
Ошибка : Инструкция точки останова (оператор __deb…
ещё и инициализировать можно вот так
Date(int date) : date(date)
Андрей Будиловский
Тогда он не прострелит себе ноги
Если я использую стринг, тогда лектор прострелит мне ноги
Nickolas Valentine
Если я использую стринг, тогда лектор прострелит м…
не используй указатели, хотя бы по ссылке передавай. Или копируй, так точно ноги останутся целы
Nickolas Valentine
Если я использую стринг, тогда лектор прострелит м…
Хорошо, тогда следуй правилу 5:
— Копирующий конструктор
— Перемешающие конструктор
— Копирующий оператор присваивания
— Перемешающие оператор присваивания
— Деструктор
Если в классе объявлено (или заделичено) хотя бы одно, то надо объявить (или заделитить) и все остальное
Aniki Hi$ok@ 🌈 Z 🐀
не используй указатели, хотя бы по ссылке передава…
В этом случае ноги так же будут прострелены, мне нужно использовать указатель
Похожие вопросы
Обсуждают сегодня
Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia — бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как «хаки» и произвол. Короче говоря, с…
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых:
читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у…
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это:
write_bit(buffer, 1);
write_bit(buffer, 0);
write_bit(buffer, 1);
write_bit(buffer, 1);
write_bit(buffer, 1);
w…
~
14
Добрый день!
Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью?
Можно написать динамический массив, можно связный …
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех «ибешни…
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
