1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 74
|
|
1 | |
Наличие оптимизации кода - причина непредсказуемого поведения отладчика?19.05.2016, 21:11. Показов 5609. Ответов 16
Метки нет Все метки)
(
Отладчик Qt Creator-а иногда перепрыгивает через строки, его поведение совершенно не поддается логике. Слышал, что для этого в qt нужно отключить оптимизацию кода. Вопрос, как это сделать? спасибо
0
|
19.05.2016, 21:11 | |
Ответы с готовыми решениями:
16
В чем причина некорректной работы кода? Указания по оптимизации кода |
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 74
|
|
20.05.2016, 10:02 [ТС] | 4 |
1. А вы не могли бы конкретно сказать, что надо прописать в pro-файле? И каком именно месте?
2. Я итак работаю в сборке debug
0
|
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 74
|
||||||
20.05.2016, 21:13 [ТС] | 6 | |||||
Не думаю, что это поможет, но привожу ("перепрыгивание" происходит со строки 58, сразу на строку 75):
0
|
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 74
|
|
21.05.2016, 16:19 [ТС] | 8 |
Спасибо за конкретный ответ, но почему-то не помогло. Отладчик продолжает перескакивать.
Бросается в глаза то, что в моем .pro-файле слово QMAKE_CXXFLAGS не выделилось как ключевое, то есть просто выглядит как какой-то левый текст...
0
|
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 74
|
|
21.05.2016, 16:55 [ТС] | 10 |
Плюс к этому, IntelliSense (или как там в Qt называется автодополнение...) даже не видит слово QMAKE_CXXFLAGS как ключевое. Такое чувство, что чего-то не хватает, опции что ли какой-то...
0
|
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 74
|
|
21.05.2016, 17:23 [ТС] | 12 |
Хотите сказать, что в Qt Creator - е ниже четвертой версии невозможно выключить оптимизацию кода?
![]()
0
|
![]() |
|
21.05.2016, 17:49 | 13 |
Нет, но в Qt Creator 4 как минимум данное выражение подсвечивается. =)
Также в Qt Creator 4 включен статический анализатор Clang, что вам может здорово помочь, ибо ругается он на каждый чих и пых и скорее всего найдёт место где вы накосячили. Да что вы носитесь с этой оптимизацией кода? Какие ваши доказательства, что всему виной именно оптимизация кода? Только не из серии "я так Видимое вами поведение может также возникать из-за undefined behaviour, когда нарушается структура кода.
0
|
732 / 693 / 110
Регистрация: 29.05.2015
Сообщений: 4,167
|
|
22.05.2016, 07:41 | 15 |
Если перескакивает с одного дебига сразу на второй - может в них глюк? Закомментируйте эти строки и попробуйте без них, инфу можно выдать на экран с помощью QMessageBox, которая ещё и программу остановит до нажатия кнопки - увидите, что сюда дошла программа, и будет время подумать.
0
|
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 74
|
|
22.05.2016, 17:17 [ТС] | 16 |
0
|
![]() |
|
23.05.2016, 06:45 | 17 |
Хотите сказать, сразу эта строчка выполняется? На моём опыте такое бывает только когда портишь стек, и то вероятность этого события крайне мала. В таком виде - точно. Хотя исключать такое нельзя, потому попробуйте массивы чаров заменить на
QByteArray , тем более, что правильное построение логики позволит даже сэкономить на копировании даных.Зато что я знаю точно, отладчик должен прыгать на закрывающую строчку, а креатор, особенно если его не обновлять (или обновлять слишком часто) умеет промахиваться. Если проблемы чисто косметические, сругнитесь и проигнорируйте.
0
|
23.05.2016, 06:45 | ||||||
Помогаю со студенческими работами здесь
17
Советы по оптимизации кода
Научиться искусству оптимизации кода Нужен совет по оптимизации кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
![]() |
Новые блоги и статьи
![]() |
||||
[golang] 135. Candy
alhaos 21.02.2025
Дан массив рейтинга детей, по этому рейтингу нужно раздать конфеты.
- Каждый ребенок должен получить хотя бы одну конфету.
- Дети с более высоким рейтингом должны получать больше конфет, чем их. . .
|
map в Go: объявление и инициализация
stackOverflow 21.02.2025
Хэш-таблицы, словари, ассоциативные массивы - как бы мы их не называли, этот тип данных знаком каждому разработчику. В языке Go они реализованы в виде встроенного типа map, который позволяет хранить. . .
|
Лучшие книги по Go в 2025
stackOverflow 21.02.2025
Давайте сначала рассмотрим наиболее интересные и полезные книги, которые помогут освоить язык программирования Go с нуля.
"For the Love of Go" - одна из самых доступных книг для тех, кто только. . .
|
Приложения Wasm на Go
stackOverflow 21.02.2025
Технология WebAssembly (Wasm) произвела настоящую революцию, позволив запускать высокопроизводительный код прямо в браузере на скоростях, близких к нативным приложениям. В версии Go 1. 24 появились. . .
|
Go: тестирование многопоточного кода с testing/synctest
stackOverflow 21.02.2025
Тестирование многопоточного кода - одна из самых сложных задач в разработке программного обеспечения, особенно когда речь идет о проверке корректности работы конкурентных операций и синхронизации. И. . .
|
Как на C вычислить exp(x), если x очень велико
stackOverflow 21.02.2025
Функция экспоненты exp(x) - одна из фундаментальных математических операций, которая находит широкое применение в науке, инженерии и финансовых расчетах. Однако при работе с большими значениями. . .
|
Использование try/except вместо if для управления логикой
stackOverflow 21.02.2025
Давайте на минутку задумаемся - что происходит, когда мы пишем длинную цепочку проверок перед выполнением какого-либо действия? Код становится громоздким, трудным для чтения и поддержки. А ведь часто. . .
|
HCL Notes/Domino: руководство по установке и настройке
stackOverflow 20.02.2025
Приложения для совместной работы стали неотъемлемой частью современного бизнеса, и HCL Notes/ Domino занимает особое место среди них. Это не просто почтовый клиент или сервер - это целая экосистема. . .
|
Лучшие практики использования HCL Notes/Domino
stackOverflow 20.02.2025
HCL Notes/ Domino продолжает оставаться одной из наиболее востребованных платформ для создания корпоративных приложений и систем документооборота. Несмотря на появление множества современных решений,. . .
|
Использование Type Erasure для Equatable и Hashable типов в Swift
bytestream 20.02.2025
Современная разработка на Swift часто сталкивается с необходимостью работать с обобщенными типами данных и протоколами. Однако существуют ситуации, когда типовая система Swift создает определенные. . .
|