Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отладка программ 
:(
    Опции темы
Alexey91
  Дата 13.9.2010, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 18.9.2008

Репутация: нет
Всего: нет



Вопрос не совсем технический. 
У меня возникают трудности с отладкой программ, вот например, сейчас программа на 500 строк и происходят ошибки с сегментацией памяти (видимо с указателями). 
Какие советы можете дать по отладке больших программ?
Есть ли какие-то отличительные признаки и.т.д.
PM   Вверх
icecrashldr
Дата 13.9.2010, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 5.7.2010

Репутация: нет
Всего: нет



Цитата

500 строк 
 Больших программ? 
Если под виндой и используешь Microsoft компилятор, то учись отлаживать WinDbg. Хоть отладить можно чем угодно.
PM MAIL WWW   Вверх
DarkProg
Дата 13.9.2010, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: нет
Всего: 19



Цитата(Alexey91 @  13.9.2010,  17:39 Найти цитируемый пост)
Какие советы можете дать по отладке больших программ?

То что вы указали - это такая маленькая софтинка я когда в форме за день могу больше 1000 строк кода накатать от руки... ну да ладно это лирика

При отладке больших программ очень рекомендую поблочную отладку, т.е. вы написали какой-то вполне законченный блок, потом проверяете как он работает, с выводом всех данных и проверкой того что там выдаёт программа и как она там что обрабатывает, часто внутри блока можно тоже что-то отключать(т.е. комментировать), что поможет отладить, ну в общем просто пробуйте и пытайтесь, потом найдёте вполне оптимальный для вас алгоритм отладки программ.


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
borisbn
Дата 14.9.2010, 09:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Alexey91, какая ОС ? какой компилятор ? какая IDE ?
В принципе, это всё не так и важно, т.к. способ, предложенный DarkProg будет работать где угодно, но при помощи IDE можно отловить немалое количество ошибок.

Цитата(icecrashldr @  13.9.2010,  19:05 Найти цитируемый пост)
Если под виндой и используешь Microsoft компилятор, то учись отлаживать WinDbg

не пойму, какой смысл, если можно использовать студийный ?

 


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Alca
Дата 14.9.2010, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 2
Всего: 50



Цитата

рекомендую поблочную отладку

Каждому блоку по тесту


--------------------
PM WWW ICQ Skype Jabber   Вверх
baldina
Дата 14.9.2010, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



Alexey91, помните героиню фильма "Москва слезам не верит"? Ее назначили директором большого завода, и на вопрос корреспондента, как она может руководить 2000 работников, следует ответ: "трудно руководить тремя. научишься, дальше число не имеет значения".
Также и с программами. Разработка сверху вниз и применение принципа "разделяй и властвуй". Не стоит писать сразу 500 строк кода и потом мучительно их отлаживать.
Продумайте структуру программы, разделите её на части - функции, классы.
Сделайте каркас приложения, реализующий основную логику. Вызываемые функции пока не реализуйте, сделайте "заглушки" - пустые функции. Отлаживайте каркас.
Дальше реализуйте функции, заменив заглушки. Для сложных функций/классов можно создать отдельные тестовые приложения.
Для компонентного тестирования есть специальные средства.

Добавлено через 1 минуту и 6 секунд
Вопрос то как раз технический, в плоскости программной инженерии.
PM MAIL   Вверх
djamshud
Дата 14.9.2010, 10:54 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



Советую по крайней мере на время обучения совсем положить болт на отладчик. Тренеруйтесь писать без него. Потому что когда программа вырастет до 50к строк, отладчик уже мало поможет.

Для того, чтобы отлавливать ошибки доступа к памяти, существуют специальные отладчики памяти, под линуксом - valgrind.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
Alca
Дата 14.9.2010, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 2
Всего: 50





--------------------
PM WWW ICQ Skype Jabber   Вверх
icecrashldr
Дата 14.9.2010, 12:36 (ссылка)  | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 5.7.2010

Репутация: нет
Всего: нет



borisbn 
Цитата

не пойму, какой смысл, если можно использовать студийный ?

Смотря что отлаживать ... 
WinDbg более гибкий , если надо отладить больше чем пару циклов..
PM MAIL WWW   Вверх
Abyx
Дата 14.9.2010, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

Репутация: 5
Всего: 10



icecrashldr, вы бы еще софтайс предложили.

Это сообщение отредактировал(а) Abyx - 14.9.2010, 21:02
PM MAIL   Вверх
xvr
Дата 15.9.2010, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(icecrashldr @  14.9.2010,  12:36 Найти цитируемый пост)
WinDbg более гибкий
Гибкий то он конечно гибкий, но уж слишком неудобный - явно для истинных ценителей WinDbg  smile 
Был на PDP11 такой редактор - teco, с командной строкой. И команды задавались в ней буквами. Среди пользователей этого чуда природы была популярна такая игра - набить ему в командную строку свою фамилию и угадать, что он сделает  smile 
WinDbg в этом отношении его достойный преемник  smile 

NB. VI до teco далеко  smile 


PM MAIL   Вверх
Alexey91
Дата 15.9.2010, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 18.9.2008

Репутация: нет
Всего: нет



Спасибо  smile 
PM   Вверх
bsa
Дата 15.9.2010, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196




M
bsa
Alexey91, если ответ на вопрос получен, то пометь тему решенной

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1732 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.