Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Работаю в Code::Blocks. Делаю программу, очень простую - калькулятор, решающий заданные выражения типа "2+2*2" с длинными числами. Но не в этом суть. При попытке запустить программу в обычном режиме (просто Run) и решить выражение, она решает и вылетает. При запуске в режиме Debug - решает и запрашивает следующее выражение - как и должно быть. Кто-нибудь знает, с чем это может быть связано? И да, отладчик у меня не тормозит на breakpoint - спасибо тараканам Code::Blocks. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 15:33 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
psih-stalkerс чем это может быть связано? Чаще всего - не инициализированные переменные, обращение к памяти вне запрошенного куска. При "вылетает" обычно пишется сообщение, а в нём информация - достаточная для нахождения места "вылета". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 15:42 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, У меня "вылетает" так: "Прекращена работа программы..." Dimitry SibiryakovЧаще всего - не инициализированные переменные, обращение к памяти вне запрошенного куска. В первом случае показывается соответствующий warning. У меня таковых нет. Во втором же в режиме Debug появляются ошибки Segmentation Fault, которых уже тоже не имеется (где-то здесь я начал ненавидеть указатели). Может быть, это связано с тем, как Run и Debug запускают программу? P.S. Ничего не делал в коде после опубликования вопроса - стал через раз вылетать, иногда не давая результат перед этим. Странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 15:55 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
где-то здесь я начал ненавидеть указателиЗнаковое событие. А без них - никуда в сях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 16:45 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
psih-stalker, В 90% случаев ошибку сразу видно при просмотре свежим взглядом. Так что вы не стесняйтесь, покажите код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 17:02 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, Кода много, аж в шести файлах. Прикладываю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 17:10 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
maytonгде-то здесь я начал ненавидеть указателиЗнаковое событие. А без них - никуда в сях. Могу примерно так описать, как это у меня происходило: 1) довольно долгое непонимание указателей; 2) с течением времени вникание в их смысл; 3) осознание, что же это такое и для чего оно нужно; 4) радость, что всё понятно - надо всё делать с указателями, использовать их в каждой функции; 5) первые ошибки, связанные с указателями - принятие удара на грудь с решимостью в глазах; 6) ошибки всё ещё не перестают появляться - осознание того, что что-то явно не так; 7) появление ненависти к указателям и её укрепление по мере отладки; 8) в коде, где вроде бы не должно быть ошибок и всё должно работать - ничего не работает. Искренняя ненависть к указателям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 17:18 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
psih-stalkerУ меня "вылетает" так: "Прекращена работа программы..." Ты из всех предложений читаешь только первые три слова? Подробности ошибки смотри в Windows Event Log. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 17:33 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
psih-stalkerМогу примерно так описать, как это у меня происходило Сколько времени и нервов можно сэкономить, если начинать изучать программирование с принципов работы процессора, машинных кодов и ассемблера... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 17:46 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovpsih-stalkerУ меня "вылетает" так: "Прекращена работа программы..." Ты из всех предложений читаешь только первые три слова? Подробности ошибки смотри в Windows Event Log. Не знал об этой штуке. Спасибо. Проблема связана с модулем ntdll.dll - какие-то ошибки с памятью, я полагаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 17:56 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
psih-stalker, Код: plaintext 1. 2. 3. 4. 5. Дальше не читал - этого достаточно для падения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:02 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskypsih-stalker, Код: plaintext 1. 2. 3. 4. 5. Дальше не читал - этого достаточно для падения. Если убрать malloc, то появляется warning, типа неинициализированная переменная. Тогда, получается, нужно хотя бы так? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:05 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Хотя не. Дальше еще смешнее. Код: plaintext 1. 2. 3. 4. Может все-таки вы будете писать на С++, а не на С, раз вам нужны конструкторы и деструкторы? Заодно и замените char* на std::string ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:06 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
psih-stalker, Извините, я на секунду предположил что вам знакомы основы языка. Был не прав )) В malloc нужно передавать размер создаваемого буфера в байтах, достаточный для хранения всей вводимой строки и нулевого байта после нее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:08 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Рекомендую прочитать любую книжку по С++ и потом уже вернуться к исправлению программы. Потому что то что вы в коде там пишете ... Это ж не художественная книга, у языка есть какие-то базовые правила все-таки )). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:12 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Начните с изучения операторов new/delete ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:16 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskypsih-stalker, Извините, я на секунду предположил что вам знакомы основы языка. Был не прав )) В malloc нужно передавать размер создаваемого буфера в байтах, достаточный для хранения всей вводимой строки и нулевого байта после нее. А scanf() разве не перевыделяет память? Видимо, нужно на std::string переходить. Знакомы, но не хватает опыта ещё. =) new/delete знаю. Дело в том, что я начинал делать проект на Си, и только через два месяца преподаватель разрешил перейти на C++. Ну и по инерции перенёс сюда и malloc и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:22 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyХотя не. Дальше еще смешнее. Код: plaintext 1. 2. 3. 4. Может все-таки вы будете писать на С++, а не на С, раз вам нужны конструкторы и деструкторы? Заодно и замените char* на std::string Надо было раньше на MSDN про деструкторы посмотреть. О_О Получается, у меня явный вызов деструктора нигде не нужен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:29 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
psih-stalker, Экземпляры классов нельзя создавать через malloc. Только new или простым объявлением. А про явный вызов деструктора (Res->~LongNum()) забудьте. Он не предназначен для использования в прикладных программах. Тем более что вы его неверно применяете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:31 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
psih-stalkerПолучается, у меня явный вызов деструктора нигде не нужен? Хотя ладно, вопрос риторический. Пошёл полностью (снова -_-) переделывать код - авось исправится ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:32 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyОн не предназначен для использования в прикладных программах. А в каких может пригодиться? Так, на будущее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:33 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
psih-stalkerА scanf() разве не перевыделяет память? Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:33 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
Путаница с С/C++ это кстати один из траблов которые я-бы поместил в FAQ. Тоже самое касается смешивания ввода вывода <stdio>/<iostream> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:34 |
|
||
|
Ошибки при Run, но всё работает при Debug.
|
|||
|---|---|---|---|
|
#18+
psih-stalkerА в каких может пригодиться? Так, на будущее. Если вы будете писать свою реализацию стандартной библиотеки - может пригодиться. Т.е. никогда )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2014, 18:34 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38840918&tid=2019174]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 288ms |
| total: | 440ms |

| 0 / 0 |
