| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > std::string |
| Автор: Kirgston 18.10.2010, 22:09 |
Всем доброго времени суток! Собственно интересует такой вот вопросик... как отлаживать стринги?![]() Добавлено через 13 минут и 40 секунд Имеется ввиду как я могу получить строку в которой происходит ошибка? Не ту что в файле xstring.h а реальную в моем коде |
| Автор: azesmcar 18.10.2010, 22:38 |
| запусти программу под дебагером. |
| Автор: mes 18.10.2010, 22:42 |
| название темы одно, на скрине ошибка другая, а спрашивает тс. о третьем |
| Автор: EgorTheBlade 19.10.2010, 08:23 |
| F10 и вперед до строки где падает. Можно по подробнее зачем вам адрес? |
| Автор: azesmcar 19.10.2010, 08:28 |
Нет, достаточно просто запустить под дебагером и посмотреть где программа падает, а там дальше смотришь stack trace, находишь место вызова, ставишь breakpoint и вперед. |
| Автор: Kirgston 19.10.2010, 08:37 | ||
ех... ладно еще раз скажу. Программа падает в некоторых ситуациях на посторонних ПК. Прямой отладки там нету. Как и самой студии Я имел ввиду не прямой адрес , аля : 0x163FA12 и т.д. а нечто вроде _LINE_ & _FILE_ Добавлено через 3 минуты и 4 секунды
Не всегда "прокатывает". Лично у меня всего 10ть последних вызовов (может как то и можно увеличить, но к сож. не знаю как). А при 10ти есть варианты что скрытые вызовы (вызовы ядра) перекроют(ну их просто будет много) то место где был оригинальный вызов. Плюс ко всему ,как уже говорил, то ошибки могут случатся на посторонних ПК и иногда мне будет проблематично повторить действия пользователя... тем более что как правило пользователь не помнит последних своих действий |
| Автор: maxim1000 19.10.2010, 09:25 |
| когда упала и выдалось сообщение, нужно открыть task manager, кликнуть правой кнопкой на упавшем процессе, выбрать Create Memory Dump (ну или что-то похожее) будет создан DMP-файл, его нужно кинуть на комп разработчика в директорию, в которой лежат pdb-файлы, потом - открыть студией, можно будет посмотреть стек вызовов |
| Автор: Kirgston 19.10.2010, 09:44 | ||
Спасибо большое! Попробую и отпишусь |
| Автор: djamshud 19.10.2010, 12:02 |
| Скорее всего ошибка воспроизводится на обоих ПК, просто в одном случае это не приводит к аварийному завершению. Воспользуйтесь отладчиком памяти (в линупсе valgrind, для винды нагуглите аналог) и с его помощью проверьте корректность работы программы с памятью. Если же ошибка происходит исключительно от магической комбанации действий пользователя, то нужно либо узнать эту комбинацию, либо, как уже предлагали, возиться с дампами, но это геморно. |
| Автор: Kirgston 10.11.2010, 11:49 | ||
Извиняюсь за столь долгий ответ... дело в том что нету вот у меня в таск менеджере кнопки дам. Нигде нету... ковырял везде... |