![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
суть в следующем: есть поле ввода и написаная мною фция переводящая из string в double, если запускаю на выполнение программу по F5 или же просто не из кампилятора а exe файл, то все работает чудненько, но если запускаю по Ctrl+F5, она толи в моей функции толи где выдает баг и неправильно считывает число.Моя функция перевода числа из string в double врятли глючит, так как я её уже не в одной программе использовал и нормально всегда было.
С чего такое случается? Это сообщение отредактировал(а) Solomon - 22.8.2006, 15:09 -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
хоть бы компилятор сказал какой
или код привел -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
Кода Оч много. Если бы я знал в каком оно месте глючит. Кампилятор Studio NET 2000
Добавлено @ 15:22 вот сама моя корявенькая функция
-------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
-------------------- ... |
|||
|
||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
В том то и дело. когда по F5 запускаеш и пытаешся найти ошибку все работает отлично ))
-------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
может так
Это сообщение отредактировал(а) MAKCim - 22.8.2006, 15:44 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
Да не в этом вопрос. Меня интересует, почему когда запускаеш exe или по Ctrl+F5 то все нормально, а когда по F5 то баг?
-------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
ты определись потому как
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
Блин я уже запарился
exe и F5 - нормально Ctrl+F5 - баг -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| UnrealMan |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Возможно, где-то происходит выход за границы массива или использование невалидного указателя, или использование неинициализированного значения и т.д. Такого рода ошибки могут проявляться в одних случаях и не проявляться в других – как повезёт. Взгляни-ка в свой код:
Обрати внимание на то, что atoi ожидает строку, оканчивающуюся нулевым символом. Позаботился ли ты о том, чтобы строка f гарантированно оканчивалась нулевым символом (причём сразу после последовательности циферок)? |
||||
|
|||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 3 Всего: 106 |
по Ctrl+F5 запускается чистый exe'шник, т.е. это то же самое, что запустить готовый exe'шник из шела. Если в проге ошибки, то exe'шник только в самой критической ситуации выдаст сообщение об отправке Microsoft отчета об ошибке, в остальных - система проглотит мелкие баги. А в среде по F5 контролируются все, даже самые мелкие косяки. И это есть гут, потому что ты всегда будешь знать о недостатках программы, которые нужно исправить.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 3 Всего: 106 |
например, выход за границы массива в стеке, использование неинициализированных переменных, запись по резервированному адресу, но находящимся за пределами выделяемого блока(только если нет повреждения самой кучи). Много чего еще есть, на что система прикрывает глаза до поры до времени.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Solomon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
Так ведь именнно при Ctrl+F5 баг, а когда просто exe то нормадьно Добавлено @ 22:15
Я так понял, что всех сбило с толку это сообщение в котором я запарился. я же ниже написал что ошибся и наоборот -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
||||
|
|||||
| UnrealMan |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Да ну? Ну-ка попробуй вот такое запустить в отладчике:
Что получится?
Увы, это не так. Добавлено @ 22:29
Всё равно это, вероятно, не имеет никакого значения. Лучше ищи ошибки в коде. Это сообщение отредактировал(а) UnrealMan - 22.8.2006, 22:28 |
||||||||
|
|||||||||
| Solomon |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
еще немножко кода
Вот если вообще не ввоодить числа то он присваивае переменным n и m соответственно по 16 и эта проверка
получается проходит. Если ввести в одно из полей 1 то значение получается 8, двойку 9 и т.д. для обих из полей. Опять же все это происходит только при запуске по Ctrl+F5 -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
||||||
|
|||||||
| UnrealMan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Ты уже исправил указанную мной ошибку (в обоих местах)? Поведение программы, где нарушается доступ и используется неопредёленное значение (мусор), непредсказуемо. Привязывать проявление багов программы к конкретным способам её запуска – это всё равно что гадать на кофейной гуще. Тебе это ровным счётом ничего не даст. Ищи конкретные ошибки в коде (начни с тех, что указал я). |
|||
|
||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
UnrealMan, ты так имел ввиду?? результат идентичный тому что был -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
мне кажется что для начала стоит все же определиться, где выдает баг. Мне кажется современные компиляторы позволяют определить, в какой строчке произошла ошибка. как вариант могу указать и то же самое с f1 -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
В том где ошибка я уже определился
Вот теперь думаю что вообще у меня делается в этом цикле Не научили меня коменты писать и теперь немогу вспомнить через пол года после написания проги, да еще и ко всему скорее всего этот цикл был предуман не мною(мне помогали писать), поэтому и вспомнить немогу. Меня еще i<7 смущает(т.е. она работает не более чем с 7-значными числами), но дело не в том 100% я уже проверил. И я уверен что проблемма именно в этом цикле. Кстати, а как более культурно можно узнать размер массива? -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |