59 / 52 / 11
Регистрация: 04.08.2015
Сообщений: 726
|
|
1 | |
Разные значения в дебаге и релизе23.02.2017, 15:47. Показов 3104. Ответов 43
Метки нет (Все метки)
В общем в чем суть, пишу игру, участок сетевого кода написан с помощью sfml.
В дебаге программа не работает, потому что изходящие и входяшие пакеты различаются по размеру. В релизе размер пакетов совпадает и сеть работает. По этому приходится отлаживать в релизе. Но проблема в том что приходит не верное значение. В дебаге, на отправку значение запаковывается верное, а в релизе не могу проследить этот момент, именно момент упаковки значения в пакет, отладчик пропускает этот код. Я знаю что он пропускает код из-за сжатия кода и "ненужный" по мнению отладчика выкидывается, однако в дебаге я не могу проверить какое бы значение пришло, т.к. размер исхояшего и входяшего пакета разные и пакет забраковывается. Я думаю что этот участок забраковывается потому что отладчик не может установить дальнейшую связь в использовании этого значения. Потому что далее связь устанаваливается, с дальнейшим кодом программы, через интернет. Я объявил ключевую переменную как volatile, в настройках проекта поставил "без оптимизации всей программы", однако он продолжает пропускать этот участок. Объясните пожалуйста, как это можно решить? Объясните хотя бы причины такого странного поведения, если я не прав в своих догадках, очень надеюсь на ваше понимание, это мой первый проект.
0
|
23.02.2017, 15:47 | |
Ответы с готовыми решениями:
43
Ошибка выхода за пределы памяти в дебаге, в релизе ОК Программа работает в дебаге, но не работает в релизе Программа при релизе не работает, а при дебаге работает Разные результаты работы при обычном запуске и при дебаге (использование dll) |
59 / 52 / 11
Регистрация: 04.08.2015
Сообщений: 726
|
|
15.03.2017, 13:06 [ТС] | 42 |
Вы просили ссылку на проект я проект и отправил. То как VS его и хранит.
Вы на полном серьезе хотите чтобы я вам всю VS2015 отправил? что весит больше 4 гиг? Я с вас поражаюсь, можно было бы спокойно оставить этот вопрос, если я уже написал обходной путь... Спасибо конечно, что вы продолжаете помогать (как я могу быть против?), но вот после 11-го сообщения, я переназначил все отдельно для дебага и для релиза.. поменял либы.. Это показал в скриншоте 18-го сообщения. Там видно что для дебага стоит sfml-network-d.lib. Однако это не помогало, дебаг-либа стоит и сейчас в основном проекте. Однако замечу что ошибка действительно пропала в на том коротком участке кода. что в сообщении 31. Там правда стояла релиз-либа. Там я проморгал этот момент.. Я пока не могу проверить, будет ли ошибка до сихпор в основном проекте, или нет. Потом проверю и отвечу. Скорей всего будет, потому что я ничего не менял, а либы в дебаге стоят нужные (дебаг).
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
15.03.2017, 14:45 | 43 |
0
|
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
|
|
16.03.2017, 18:08 | 44 |
Мне просто самому было интересно найти причину (для кода, именно, в 31 посте), и я её (для себя) нашёл: toString() оказалась не при чём.
Добавлено через 19 часов 59 минут А, раз, toString() нормально работает, то, значит, и в react_in_pack() она не является причиной ошибки.
0
|
16.03.2017, 18:08 | |
16.03.2017, 18:08 | |
Помогаю со студенческими работами здесь
44
Atmega 32 (Atmel Studio 6). При дебаге не меняются значения портов Программа работает, но выводит разные значения Sx и Yx (значения должны быть одинаковыми) Разные значения Разные значения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |