Unrelated pointer???
От: Аноним  
Дата: 15.11.04 09:04
Оценка:
Привет всем!!!

Вообщем решил протестить прогу Bouds Checker под VC 7.1 и он обнаружил следущую ошибку:
Unrelated pointer: Comparing two unrelated pointers 0x... and 0x... Pointers are not withing the same buffer.

И все это происходит внутрях STL::basic_string в файле xstring, а именно в функции:

bool _Inside(const _Elem *_Ptr)
{
//test if _Ptr points inside string
if (_Ptr < _Myptr() || _Myptr() + _Mysize <= _Ptr)
   return (false); //don't ask
else
   return (true);
}


Сообственно ошибка в выделенном фрагменте... И происходит она там тысячи раз...

Вопрос в том как это полечить?


16.11.04 18:52: Перенесено модератором из 'C/C++' — Павел Кузнецов
Re: Unrelated pointer???
От: Bell Россия  
Дата: 15.11.04 09:21
Оценка:
Здравствуйте, Аноним, Вы писали:

Почитай этот топик
Автор: leper
Дата: 02.04.04
Любите книгу — источник знаний (с) М.Горький
Re[2]: Unrelated pointer???
От: Аноним  
Дата: 15.11.04 09:27
Оценка:
Здравствуйте, Bell, Вы писали:

B>Здравствуйте, Аноним, Вы писали:


B>Почитай этот топик
Автор: leper
Дата: 02.04.04


Интересная ситуация, но она возникает тысячи раз и не дает в целом протестить приложение, так как из-за этого все очень жутко тормозит... Может как то отключается???
Re[3]: Unrelated pointer???
От: Bell Россия  
Дата: 15.11.04 09:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Интересная ситуация, но она возникает тысячи раз и не дает в целом протестить приложение, так как из-за этого все очень жутко тормозит... Может как то отключается???


Увы, сказать ничего не могу. Посмотри справку в чекере по этой ошибке, возможно ее проверку можно отключить.
Попробуй поиспользовать STLPort — возможно, там этой проблемы нет...
Любите книгу — источник знаний (с) М.Горький
Re[4]: Unrelated pointer???
От: Аноним  
Дата: 15.11.04 09:55
Оценка:
Здравствуйте, Bell, Вы писали:

B>Здравствуйте, Аноним, Вы писали:


А>>Интересная ситуация, но она возникает тысячи раз и не дает в целом протестить приложение, так как из-за этого все очень жутко тормозит... Может как то отключается???


B>Увы, сказать ничего не могу. Посмотри справку в чекере по этой ошибке, возможно ее проверку можно отключить.

B>Попробуй поиспользовать STLPort — возможно, там этой проблемы нет...

Уже просто веcь функционал протестирован и переходить ради этого на STLPort не хочется... Нужно боротся с Bounds Checker-om значит...
Re[5]: Unrelated pointer???
От: Bell Россия  
Дата: 15.11.04 10:01
Оценка:
Здравствуйте, Аноним, Вы писали:
B>>Попробуй поиспользовать STLPort — возможно, там этой проблемы нет...

А>Уже просто веcь функционал протестирован и переходить ради этого на STLPort не хочется... Нужно боротся с Bounds Checker-om значит...


Можно попробовать заменить использование операторов < и <= на std::less и std::less_equal в реализации _Inside.
Любите книгу — источник знаний (с) М.Горький
Re[3]: Unrelated pointer???
От: bkat  
Дата: 15.11.04 10:11
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Bell, Вы писали:


B>>Здравствуйте, Аноним, Вы писали:


B>>Почитай этот топик
Автор: leper
Дата: 02.04.04


А>Интересная ситуация, но она возникает тысячи раз и не дает в целом протестить приложение, так как из-за этого все очень жутко тормозит... Может как то отключается???


Ты можешь фильтр на это дело поставить, или даже вообще "подавить" эти сообщения.
См. про "suppression" в опциях BoundsChecker'а
Re[6]: Unrelated pointer???
От: Аноним  
Дата: 15.11.04 10:12
Оценка:
Здравствуйте, Bell, Вы писали:

B>Здравствуйте, Аноним, Вы писали:

B>>>Попробуй поиспользовать STLPort — возможно, там этой проблемы нет...

А>>Уже просто веcь функционал протестирован и переходить ради этого на STLPort не хочется... Нужно боротся с Bounds Checker-om значит...


B>Можно попробовать заменить использование операторов < и <= на std::less и std::less_equal в реализации _Inside.


А побочных еффектов не будет???
Re[7]: Unrelated pointer???
От: Bell Россия  
Дата: 15.11.04 10:14
Оценка:
Здравствуйте, Аноним, Вы писали:

А>А побочных еффектов не будет???


Если все правильно сделаешь — то не должно.
Любите книгу — источник знаний (с) М.Горький
Re: Unrelated pointer???
От: Кодт Россия  
Дата: 15.11.04 11:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Сообственно ошибка в выделенном фрагменте... И происходит она там тысячи раз...

А>Вопрос в том как это полечить?

Когда BoundsChecker в очередной раз запнётся на этом месте, скажи ему supress... И в настройках посмотри, там это как-то можно сохранить (у меня сейчас BC не стоит, подсказать детали не могу).

Вообще, BC много где спотыкается не по делу, но, как говорится, лучше перебдить чем недобдить.
Перекуём баги на фичи!
Re[2]: Unrelated pointer???
От: Аноним  
Дата: 15.11.04 11:56
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Аноним, Вы писали:


А>>Сообственно ошибка в выделенном фрагменте... И происходит она там тысячи раз...

А>>Вопрос в том как это полечить?

К>Когда BoundsChecker в очередной раз запнётся на этом месте, скажи ему supress... И в настройках посмотри, там это как-то можно сохранить (у меня сейчас BC не стоит, подсказать детали не могу).


К>Вообще, BC много где спотыкается не по делу, но, как говорится, лучше перебдить чем недобдить.


На самом деле там первый раз выскакивает ошибка эта в диалоговом окне с деталями, ее можно отменить, что бы не показывалась каждый раз, но в гриде все таки отображает эту ошибку и именно из-за этого все тормозит так как каждый раз на эту ошибку рефрешиться грид... Нужно сделать что бы Bounds Checker вообще игнорировал эту ошибку, то есть как бы ее и не было...

Посмотрю что можна сделать будет..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.