170 похожих чатов

Здравствуйте, есть проблема с отладкой heap corruption: через gflags поставил

/p /enable, повторная отображает, что все верно выставлено. Далее пустил релизную версию, спустя какое-то время упало на освобождении локальной переменной на стеке (как, по идее и должно быть в случае такой ошибки) - но локализация причины повреждения так и не видна. Я думал, что, включив флаги через gflags - мне покажет, как на первой попытке записи не туда уже вылезет проблема, но судя по стеку - нет, показывает все равно где-то после повреждения. Как тогда можно попытаться найти причину повреждения? Или в данном случае означает, что повреждение произошло где-то совсем рядом по стеку? Спасибо

9 ответов

11 просмотров

Другой тул возьми, valgrind, DrMemory

Dmitry-Shulga Автор вопроса
Ilya Zviagin
Другой тул возьми, valgrind, DrMemory

Спасибо, дело под виндой, DrMemory что-то не дает даже приложению запуститься и кидает ложные срабатывания в qtшных либах... может, есть еще что-то более юзабельное под винду? пробовал heob и deleaker с qt - пофиксил тамошние найденные утечки, но видимо повреждение кучи они не определяют

Dmitry-Shulga Автор вопроса
Aidar Fattakhov
Мб проблема на старте?

не думаю, там чисто qtшные инициализации Qt5Gui.dll!QGuiApplicationPrivate::init и тому подобное в логе

Dmitry Shulga
не думаю, там чисто qtшные инициализации Qt5Gui.dl...

Это не отменяет возможность твоей ошибки

Dmitry-Shulga Автор вопроса
Aidar Fattakhov
Это не отменяет возможность твоей ошибки

я не спорю, ошибка то явно моя, но на старте ничего похожего не происходит - DrMemory крашится вообще в самом начале, а gflags приводит к остановке уже спустя 1-2 часа работы многопоточного приложения

Dmitry Shulga
Спасибо, дело под виндой, DrMemory что-то не дает ...

ASan. Если вдруг через студию собираешь, то его можно прямо из маркета поставить

Dmitry-Shulga Автор вопроса
Eduard Vrnk
ASan. Если вдруг через студию собираешь, то его мо...

Собираю из qt на msvc2019, а нет ли способа поставить ASan в студию и через доп аргументы из qt применить? Или там компонент требует работы из-под интерфейса студии для вывода результатов

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта