1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 74
|
|
Наличие оптимизации кода - причина непредсказуемого поведения отладчика?19.05.2016, 21:11. Показов 5712. Ответов 16
Метки нет Все метки)
(
Отладчик Qt Creator-а иногда перепрыгивает через строки, его поведение совершенно не поддается логике. Слышал, что для этого в qt нужно отключить оптимизацию кода. Вопрос, как это сделать? спасибо
0
|
19.05.2016, 21:11 | |
Ответы с готовыми решениями:
16
В чем причина некорректной работы кода? Указания по оптимизации кода |
![]() |
|
19.05.2016, 22:32 | |
Вы уверены, что в оптимизациях дело? По умолчанию оптимизации в дебаге обычно везде отключены. А так - смотрите в .pro или в сmake файле.
0
|
![]() |
|
20.05.2016, 07:03 | |
ctakah3112, прежде всего, отлаживайте в отладке.
Добавлено через 16 секунд Сборка Debug
0
|
![]() |
|
20.05.2016, 10:27 | |
Приведите кусок кода и покажите в нём строки, через которые перепрыгивает отладчик.
0
|
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 74
|
||||||
20.05.2016, 21:13 [ТС] | ||||||
Не думаю, что это поможет, но привожу ("перепрыгивание" происходит со строки 58, сразу на строку 75):
0
|
![]() |
||||||
20.05.2016, 21:19 | ||||||
В .pro файле пропишите
1
|
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 74
|
|
21.05.2016, 16:19 [ТС] | |
Спасибо за конкретный ответ, но почему-то не помогло. Отладчик продолжает перескакивать.
Бросается в глаза то, что в моем .pro-файле слово QMAKE_CXXFLAGS не выделилось как ключевое, то есть просто выглядит как какой-то левый текст...
0
|
![]() |
|
21.05.2016, 16:28 | |
Это иногда бывает, подсветка начинает тупить.
Могу посоветовать только удалить полностью папку сборки и пересобрать проект. Если и это не поможет - тогда не знаю.
0
|
![]() |
|
21.05.2016, 17:04 | |
0
|
![]() |
|
21.05.2016, 17:49 | |
Нет, но в Qt Creator 4 как минимум данное выражение подсвечивается. =)
Также в Qt Creator 4 включен статический анализатор Clang, что вам может здорово помочь, ибо ругается он на каждый чих и пых и скорее всего найдёт место где вы накосячили. Да что вы носитесь с этой оптимизацией кода? Какие ваши доказательства, что всему виной именно оптимизация кода? Только не из серии "я так Видимое вами поведение может также возникать из-за undefined behaviour, когда нарушается структура кода.
0
|
![]() |
|
22.05.2016, 06:39 | |
0
|
732 / 693 / 110
Регистрация: 29.05.2015
Сообщений: 4,184
|
|
22.05.2016, 07:41 | |
Если перескакивает с одного дебига сразу на второй - может в них глюк? Закомментируйте эти строки и попробуйте без них, инфу можно выдать на экран с помощью QMessageBox, которая ещё и программу остановит до нажатия кнопки - увидите, что сюда дошла программа, и будет время подумать.
0
|
![]() |
|
23.05.2016, 06:45 | |
Хотите сказать, сразу эта строчка выполняется? На моём опыте такое бывает только когда портишь стек, и то вероятность этого события крайне мала. В таком виде - точно. Хотя исключать такое нельзя, потому попробуйте массивы чаров заменить на
QByteArray , тем более, что правильное построение логики позволит даже сэкономить на копировании даных.Зато что я знаю точно, отладчик должен прыгать на закрывающую строчку, а креатор, особенно если его не обновлять (или обновлять слишком часто) умеет промахиваться. Если проблемы чисто косметические, сругнитесь и проигнорируйте.
0
|
23.05.2016, 06:45 | ||||||
Помогаю со студенческими работами здесь
17
Советы по оптимизации кода
Научиться искусству оптимизации кода Нужен совет по оптимизации кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
|
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
|
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
|
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
|
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
|
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
|
Линейное решение нелинейной задачи с помощью арктангенса для метода обработки данных из double buffering.
Hrethgir 10.04.2025
Публикация в доработке, метод арктангенса в комментариях внизу.
Вообще изначально я пренебрёг квадратурой числа, но потом понял, что для вычисления приблизительного значения - сгодится, формулу. . .
|
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
|
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
|
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
|