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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> std::string, отладка 
:(
    Опции темы
Kirgston
Дата 18.10.2010, 22:09 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Всем доброго времени суток! Собственно интересует такой вот вопросик... как отлаживать стринги?

user posted image

Добавлено через 13 минут и 40 секунд
Имеется ввиду как я могу получить строку в которой происходит ошибка? Не ту что в файле xstring.h а реальную в моем коде
PM MAIL   Вверх
azesmcar
Дата 18.10.2010, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



запусти программу под дебагером.
PM   Вверх
mes
Дата 18.10.2010, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



название темы одно, на скрине ошибка другая, а спрашивает тс. о третьем 
 smile  smile 



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


Опытный
**


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

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



Цитата(azesmcar @  18.10.2010,  22:38 Найти цитируемый пост)
запусти программу под дебагером.

Мне что около 4 000 строк построчно ?

Цитата(mes @  18.10.2010,  22:42 Найти цитируемый пост)
название темы одно, на скрине ошибка другая, а спрашивает тс. о третьем

Почему же? В названии написано "отлаживании" на скрине - "Debug Assertion Failed" и спрашиваю я как нормально отлаживать стринг... 

Повторю еще раз вопрос а то видимо меня никто не понял и просто начали надо мной издеватся :( : есть программа на ~ 4 000 строк кода. Программа падает не просто так, а при определенных условиях. И где не ясно. То есть у меня на Вин 7 нормально, ошибки случаются на Вин ХР. Где возможно у меня "косяк" я не знаю. Вот и спрашиваю как отлаживать стринги чтобы вместо косвенного адреса получать прямой(ибо ошибка предположено будет появилятся на сторонних ПК) 

Это сообщение отредактировал(а) Kirgston - 19.10.2010, 08:00
PM MAIL   Вверх
EgorTheBlade
Дата 19.10.2010, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



F10 и вперед до строки где падает.
Можно по подробнее зачем вам адрес?

Это сообщение отредактировал(а) EgorTheBlade - 19.10.2010, 08:23
PM MAIL Skype   Вверх
azesmcar
Дата 19.10.2010, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

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



Цитата(Kirgston @  19.10.2010,  07:59 Найти цитируемый пост)
Мне что около 4 000 строк построчно ?

Нет, достаточно просто запустить под дебагером и посмотреть где программа падает, а там дальше смотришь stack trace, находишь место вызова, ставишь breakpoint и вперед.
PM   Вверх
Kirgston
Дата 19.10.2010, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(EgorTheBlade @  19.10.2010,  08:23 Найти цитируемый пост)
F10 и вперед до строки где падает.


Цитата(Kirgston @  19.10.2010,  07:59 Найти цитируемый пост)
То есть у меня на Вин 7 нормально, ошибки случаются на Вин ХР


ех... ладно еще раз скажу. Программа падает в некоторых ситуациях на посторонних ПК. Прямой отладки там нету. Как и самой студии


Цитата(EgorTheBlade @  19.10.2010,  08:23 Найти цитируемый пост)
Можно по подробнее зачем вам адрес?

Я имел ввиду не прямой адрес , аля  : 0x163FA12 и т.д. а нечто вроде _LINE_ & _FILE_

Добавлено через 3 минуты и 4 секунды
Цитата(azesmcar @  19.10.2010,  08:28 Найти цитируемый пост)
Нет, достаточно просто запустить под дебагером и посмотреть где программа падает, а там дальше смотришь stack trace, находишь место вызова, ставишь breakpoint и вперед.

Не всегда "прокатывает". Лично у меня всего 10ть последних вызовов (может как то и можно увеличить, но к сож. не знаю как). А при 10ти есть варианты что скрытые вызовы (вызовы ядра) перекроют(ну их просто будет много) то место где был оригинальный вызов. Плюс ко всему ,как уже говорил, то ошибки могут случатся на посторонних ПК и иногда мне будет проблематично повторить действия пользователя... тем более что как правило пользователь не помнит последних своих действий
PM MAIL   Вверх
maxim1000
Дата 19.10.2010, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

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



когда упала и выдалось сообщение, нужно открыть task manager, кликнуть правой кнопкой на упавшем процессе, выбрать Create Memory Dump (ну или что-то похожее)

будет создан DMP-файл, его нужно кинуть на комп разработчика в директорию, в которой лежат pdb-файлы, потом - открыть студией, можно будет посмотреть стек вызовов


--------------------
qqq
PM WWW   Вверх
Kirgston
Дата 19.10.2010, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(maxim1000 @  19.10.2010,  09:25 Найти цитируемый пост)
когда упала и выдалось сообщение, нужно открыть task manager, кликнуть правой кнопкой на упавшем процессе, выбрать Create Memory Dump (ну или что-то похожее)будет создан DMP-файл, его нужно кинуть на комп разработчика в директорию, в которой лежат pdb-файлы, потом - открыть студией, можно будет посмотреть стек вызовов


Спасибо большое! Попробую и отпишусь
PM MAIL   Вверх
djamshud
Дата 19.10.2010, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



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

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


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


Опытный
**


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

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



Цитата(maxim1000 @  19.10.2010,  09:25 Найти цитируемый пост)
когда упала и выдалось сообщение, нужно открыть task manager, кликнуть правой кнопкой на упавшем процессе, выбрать Create Memory Dump (ну или что-то похожее)будет создан DMP-файл, его нужно кинуть на комп разработчика в директорию, в которой лежат pdb-файлы, потом - открыть студией, можно будет посмотреть стек вызовов

Извиняюсь за столь долгий ответ... дело в том что нету вот у меня в таск менеджере кнопки дам. Нигде нету... ковырял везде...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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