crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему
> Debug программы.
laa88rf
  опции профиля:
сообщение 26.8.2010, 12:07
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 30.7.2010
Из: Orsk
Пользователь №: 1918

Спасибо сказали: 0 раз(а)




Репутация:   0  


Привет всем.
Как и многие программеры столкнулся с вопросом - как дебажить прогу, которая вылетает по ошибке или которой не хватает чего-то, но при этом она работает, или аналогичные ситуации.

Простейший пример ситуации - программа запущена, но как только пользователь вводит логин и пароль, нажимает Ок, диалог ввода расходится и на экране появляет только фоновая картинка приложения. Вариантов тут 2, которые между собой не связаны:
1. Криворукость программера.
2. Отключение сервера БД, где лежат логины/пароли.

Второй пример - как в играх, игра вылетела по ошибке - получи запись в *.log

Как можно записать конкретно что произошло?
Заранее благодарю за ответ.

ЗЫ. извиняйте за корявость текста. Только начинаю программить.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 26.8.2010, 13:06
Сообщение #2


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Не совсем понял вопроса, но постараюсь ответить. Дебажить просто. Только нужно соблюсти некоторые условия. В проекте должно быть указано GONFIG += debug и у тебя должен быть помощник отладчика(в SDK это все есть). Затем просто в креаторе выбираешь режим Дебаг(в колонке слева) и вперед. Про сервер БД вообще не понял, но думаю что стоит почитать про QSqlError.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
laa88rf
  опции профиля:
сообщение 26.8.2010, 14:05
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 30.7.2010
Из: Orsk
Пользователь №: 1918

Спасибо сказали: 0 раз(а)




Репутация:   0  


Скорее всего вопроса не поняли.
Есть готовый проект, который работает у людей, но время от времени, по каким либо причинам (которые заранее не известны) происходят глюки. Надо отследить эти глюки.
Для этого и предлагаю делать записи в логи. по сути мне надо логгирование ошибок/багов/глюков в программе.
Причина редактирования: очепятки
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 26.8.2010, 14:17
Сообщение #4


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


laa88rf,
ну так логируй их эти ошибки и глюки в файл с временными метками.
потом отследишь что случилось в такое то время.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
laa88rf
  опции профиля:
сообщение 26.8.2010, 14:24
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 30.7.2010
Из: Orsk
Пользователь №: 1918

Спасибо сказали: 0 раз(а)




Репутация:   0  


А если без времени обойтись?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 26.8.2010, 14:38
Сообщение #6


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


laa88rf, ну
время в сислоге можно натсроить
а вообще есть уровни отладки разные. отключаемые неотключаемые и проч.
у нас в оганициции в лог сообщения пишут с метками
" m " - внут сообщения
" i ' - информацинные
" p ' - старты стопы
" d " - чисто отладочные для разработчика
" w " - предупреждения и ошибки после которых возможно продолжить работу
" e " - критические ошибки после которых работу продолжить невозможно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
laa88rf
  опции профиля:
сообщение 26.8.2010, 14:41
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 30.7.2010
Из: Orsk
Пользователь №: 1918

Спасибо сказали: 0 раз(а)




Репутация:   0  


а как вызвать сислог на виндомашинах?
или вы предлагаете обращаться к урналу windows?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 26.8.2010, 14:46
Сообщение #8


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


что значит вызвать сислог?
на определнный порт по определнным правилам шлешь сообщения в сеть на опред ip где запущен сислог. в общем логе сислога будет отобрадаться имя твоей программы и уровни сообщений, время.
потом все это можно grep проходить и выяснять что и когда и по каким причинам произошло.

П.С.
не пойму последовательность и причины вопросов. может ты просто не знаешь как сообщение лог вывести ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
laa88rf
  опции профиля:
сообщение 26.8.2010, 14:57
Сообщение #9


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 30.7.2010
Из: Orsk
Пользователь №: 1918

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вспомнил, что юниксы могут слушать на интерфейсе. Но вопрос в другом.
Мне нужно локально производить запись в файл вего происходящего с программой.

Тот же самый биллинг от нетапа может сам логгировать свои логи, баги и т.п.
Те же самые игрушки могут мониторить, что точка входа в библиотеку не правильная и пишут это в свой лог, что видеокарта дохлая и "не потянет" такое разрешение/детализацию и т.п., что если текстура не построилась, то она пишет все в лог. Простой пример - Counter Strike с включенной консолью. Пишет какую текстуру грузит, что с текстурой в процессе загрузки, кто подключился и когда, причем берется факт подключения, а по факту время, но не наоборот. И т.п.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 26.8.2010, 15:16
Сообщение #10


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


laa88rf,
чет туговат я стал, ниче не пойму что те надо.
почитай про методику отладки в ассистенте. Debugging Techniques - называется
может тебя макросы по типу Q_ACCERT интерисуют ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V   1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.4.2024, 13:39