Re[26]: Программеры-линуксойды.
От: blackhearted Украина  
Дата: 25.01.12 11:13
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


B>>>>Не в плюсах всё просто? Увидел трейс — 5 минут и fixed?

B>>>>Басенщик из тебя классный выходит.

I>>>Смотри, что было

I>>>

M>>>>>null dereference?
I>>>>Фиксится примерно за 5 минут по первому обнаружению. Баги с указателями проявляют себя _годами_.


I>>>null dereference именно так и фиксится — 5 минут и fixed.

B>>Аналогично и в плюсах — 5 минут и fixed.

I> Проезд по памяти да за 5 минут ? Кто из нас сказочник ?


Охохо, null dereference чудестным образом превратился в проезд по памяти.
Браво, Маэстро!


I>>>Скажи внятно, какие примеры тебе нужны ? Я вот покажи косяк с указателем, а ты начнешь ныть что де это не баг с указателем а кривые руки автора кода Я уже сейчас вижу этот твой основной аргумент. С такими д'Артаньянами спорить бессмысленно.


B>>Ты показывать будешь или тебе просто страшно еще больше слить, провидец ты наш?


I>Не вижу смысла что либо показывать очередному д'Артаньяну.


Т.е. таки нет примеров.
Как и предполагалось, в принципе, разговор можно быдло заканчивать после того, как благородного дона всегда устраивали стандарнтые java сущности.
Удачи в вашей борьбе с багами при использовании указателей, это будет тяжело.
Re[26]: Программеры-линуксойды.
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 25.01.12 11:34
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>>>null dereference именно так и фиксится — 5 минут и fixed.

B>>Аналогично и в плюсах — 5 минут и fixed.

I> Проезд по памяти да за 5 минут ? Кто из нас сказочник ?


Зачем? В случае первого же обращения к памяти по битому указателю сразу же диагностическое сообщение + стек вызовов.
Re[27]: Программеры-линуксойды (иллюстрация)
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 25.01.12 11:42
Оценка: +1
Здравствуйте, Mystic, Вы писали:

M>В случае первого же обращения к памяти по битому указателю сразу же диагностическое сообщение + стек вызовов.


$ cat valgrind.cpp && g++ valgrind.cpp  && valgrind ./a.out
#include <stdio.h>

int main()
{
  int* value = new int[8];
  printf("%d\n", value[8]);
  delete value;
 
  return 0;
}
==30334== Memcheck, a memory error detector
==30334== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==30334== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info
==30334== Command: ./a.out
==30334== 
==30334== Invalid read of size 4
==30334==    at 0x4006A2: main (in /home/mu/Lab/a.out)
==30334==  Address 0x5936060 is 0 bytes after a block of size 32 alloc'd
==30334==    at 0x4C24A72: operator new[](unsigned long) (vg_replace_malloc.c:305)
==30334==    by 0x400695: main (in /home/mu/Lab/a.out)
==30334== 
0
==30334== Mismatched free() / delete / delete []
==30334==    at 0x4C23E0F: operator delete(void*) (vg_replace_malloc.c:387)
==30334==    by 0x4006C0: main (in /home/mu/Lab/a.out)
==30334==  Address 0x5936040 is 0 bytes inside a block of size 32 alloc'd
==30334==    at 0x4C24A72: operator new[](unsigned long) (vg_replace_malloc.c:305)
==30334==    by 0x400695: main (in /home/mu/Lab/a.out)
==30334== 
==30334== 
==30334== HEAP SUMMARY:
==30334==     in use at exit: 0 bytes in 0 blocks
==30334==   total heap usage: 1 allocs, 1 frees, 32 bytes allocated
==30334== 
==30334== All heap blocks were freed -- no leaks are possible
==30334== 
==30334== For counts of detected and suppressed errors, rerun with: -v
==30334== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 4 from 4)
Re[27]: Программеры-линуксойды.
От: genre Россия  
Дата: 25.01.12 11:55
Оценка: 1 (1)
Здравствуйте, Mystic, Вы писали:


M>Зачем? В случае первого же обращения к памяти по битому указателю сразу же диагностическое сообщение + стек вызовов.


бывают такие проходы по памяти, которые проявляются очень далеко от места внесения и только в релизной сборке.
они редки если руки прямые, но цена их высока, так как время на поиск таких багов прямо пропорционально объему кода и квадрату времени на воспроизведение баги.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[27]: Программеры-линуксойды.
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.01.12 12:03
Оценка:
Здравствуйте, Mystic, Вы писали:

I>>Или не ругается. Тогда ищешь другой тул, стат.анализатор и тд и тд и фиксишь дальше.

M>Вот как раз интересен пример, когда valgrind бы не ругнулся

Valgring не обнаружит неправильную запись в легальный буфер, такое плохо ловится профайлером, но может быть обнаружено например стат. анализатором или всякими проверками на инварианты и валидацией всех объектов.
Re[27]: Программеры-линуксойды.
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.01.12 12:10
Оценка:
Здравствуйте, blackhearted, Вы писали:

I>> Проезд по памяти да за 5 минут ? Кто из нас сказочник ?


B>Охохо, null dereference чудестным образом превратился в проезд по памяти.

B>Браво, Маэстро!

Вот с чего это начиналось:

I>Баги с указателями отсутствуют как класс. Это высвобождает время девелоперов.

null dereference?


null dereferenct не может быть приравнен к багам с указателями.
Re[28]: Программеры-линуксойды.
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 25.01.12 12:13
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

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


I>>>Или не ругается. Тогда ищешь другой тул, стат.анализатор и тд и тд и фиксишь дальше.

M>>Вот как раз интересен пример, когда valgrind бы не ругнулся

I>Valgring не обнаружит неправильную запись в легальный буфер, такое плохо ловится профайлером, но может быть обнаружено например стат. анализатором или всякими проверками на инварианты и валидацией всех объектов.

Хм... если мне надо в переменную записать пять, а я запишу шесть, как тут поможет C#, Java? Это уже как-бы баги, которые не связаны с указателями...
Re[27]: Программеры-линуксойды.
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.01.12 12:19
Оценка: :)
Здравствуйте, Mystic, Вы писали:

I>> Проезд по памяти да за 5 минут ? Кто из нас сказочник ?


M>Зачем? В случае первого же обращения к памяти по битому указателю сразу же диагностическое сообщение + стек вызовов.


Указатель может быть абсолютно валидными. Т.е. указывать на легальный буфер который предназначен для записи данных точно такого же типа.
Всего ничего — буфер чуток изменяется и алгоритм(приближенный) выдаёт другую точность. На некоторых наборах алгоритм вообще не укладывается в свои рассчетные пределы. Всех делов.
Re[28]: Программеры-линуксойды.
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 25.01.12 12:23
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

I>Указатель может быть абсолютно валидными. Т.е. указывать на легальный буфер который предназначен для записи данных точно такого же типа.

I>Всего ничего — буфер чуток изменяется и алгоритм(приближенный) выдаёт другую точность. На некоторых наборах алгоритм вообще не укладывается в свои рассчетные пределы. Всех делов.

Ничего не понял, хотя бы псевдокод... И как с этим справляется Java/C#
Re[26]: Программеры-линуксойды.
От: midl  
Дата: 25.01.12 12:23
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


M>>>>А когда смотришь на Java или C#, то душа радуется от безбажности?


I>>>Душа радуется что не надо искать и фиксить баги с указателями.

M>>А использовать автоматический контроль ссылок и не иметь подобной проблемы религия запрещает?

I>Есть вагоны старого кода который работает до сих пор, там норма работать со строками например через char*. Ты реально представляешь, что такое перевод на нормальные строки проекта где 50-100мб плюсового кода ?

А ты представляешь что такое перевод на жаву "проекта где 50-100мб плюсового кода" ?
Re[29]: Программеры-линуксойды.
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.01.12 12:40
Оценка:
Здравствуйте, Mystic, Вы писали:

I>>>>Или не ругается. Тогда ищешь другой тул, стат.анализатор и тд и тд и фиксишь дальше.

M>>>Вот как раз интересен пример, когда valgrind бы не ругнулся

I>>Valgring не обнаружит неправильную запись в легальный буфер, такое плохо ловится профайлером, но может быть обнаружено например стат. анализатором или всякими проверками на инварианты и валидацией всех объектов.

M>Хм... если мне надо в переменную записать пять, а я запишу шесть, как тут поможет C#, Java? Это уже как-бы баги, которые не связаны с указателями...

При чем здесь это ?
Re[10]: Программеры-линуксойды.
От: Sheridan Россия  
Дата: 25.01.12 12:41
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


I>>>>>Что он умеет из того, что умеет решарпер или Idea ?

S>>>>$0 он умеет например
I>>>А что это такое ?
S>>Знаки это.
I>Он умеет искать аналогичный код в проекте ?
Денежные это знаки, денежные.
Matrix has you...
Re[20]: Программеры-линуксойды.
От: Sheridan Россия  
Дата: 25.01.12 12:41
Оценка:
Здравствуйте, _d_m_, Вы писали:

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


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


BBI>>>>>Он давно живёт в своей реальности, как и шеридан.


S>>>>Шеридан живе очень даже в реальной реальности.


___>>>А мы тогда Алисы в зазеркалье.


S>>Ну вы сами признались.


___>О да! А ты Напалеон.


Сабзиро, ага
Matrix has you...
Re[29]: Программеры-линуксойды.
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.01.12 12:42
Оценка:
Здравствуйте, Mystic, Вы писали:

I>>Указатель может быть абсолютно валидными. Т.е. указывать на легальный буфер который предназначен для записи данных точно такого же типа.

I>>Всего ничего — буфер чуток изменяется и алгоритм(приближенный) выдаёт другую точность. На некоторых наборах алгоритм вообще не укладывается в свои рассчетные пределы. Всех делов.

M>Ничего не понял, хотя бы псевдокод... И как с этим справляется Java/C#


В джаве и с# обычно нельзя получить указатель куда нибудь в середину буфера длиной 100-500мб.
Re[27]: Программеры-линуксойды.
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.01.12 12:43
Оценка:
Здравствуйте, midl, Вы писали:

I>>Есть вагоны старого кода который работает до сих пор, там норма работать со строками например через char*. Ты реально представляешь, что такое перевод на нормальные строки проекта где 50-100мб плюсового кода ?

M>А ты представляешь что такое перевод на жаву "проекта где 50-100мб плюсового кода" ?

Я нигде не предлагаю переводить проекты на джаву или C# или тебе мерещится обратное ?
Re[11]: Программеры-линуксойды.
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.01.12 12:47
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>>>>>$0 он умеет например

I>>>>А что это такое ?
S>>>Знаки это.
I>>Он умеет искать аналогичный код в проекте ?
S>Денежные это знаки, денежные.

То есть, он ничего не умеет ?
Re[28]: Программеры-линуксойды.
От: midl  
Дата: 25.01.12 13:04
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


I>>>Есть вагоны старого кода который работает до сих пор, там норма работать со строками например через char*. Ты реально представляешь, что такое перевод на нормальные строки проекта где 50-100мб плюсового кода ?

M>>А ты представляешь что такое перевод на жаву "проекта где 50-100мб плюсового кода" ?

I>Я нигде не предлагаю переводить проекты на джаву или C# или тебе мерещится обратное ?

А я нигде не предлагаю переводить проекты на с++ или тебе мерещится обратное?
Re[29]: Программеры-линуксойды.
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.01.12 13:12
Оценка:
Здравствуйте, midl, Вы писали:

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


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


I>>>>Есть вагоны старого кода который работает до сих пор, там норма работать со строками например через char*. Ты реально представляешь, что такое перевод на нормальные строки проекта где 50-100мб плюсового кода ?

M>>>А ты представляешь что такое перевод на жаву "проекта где 50-100мб плюсового кода" ?

I>>Я нигде не предлагаю переводить проекты на джаву или C# или тебе мерещится обратное ?

M>А я нигде не предлагаю переводить проекты на с++ или тебе мерещится обратное?

Вот на это:
">А использовать автоматический контроль ссылок и не иметь подобной проблемы религия запрещает?"

Был даден ответ:
"Есть вагоны старого кода который работает до сих пор, там норма работать со строками например через char*. Ты реально представляешь, что такое перевод на нормальные строки проекта где 50-100мб плюсового кода ?"

Объясни внятно, как на проекте в 50-100мб плюсового кода заюзать этот автоматический контроль ссылок или хотя бы строки разом пофиксить ?

Как только сделаешь оценку , сразу поймешь что "религия запрещает" это бред сивой кобылы. Ограничения вполне ощутимые и если ты не сталкивался с такими проектами то ты еще зелен.
Re[30]: Программеры-линуксойды.
От: midl  
Дата: 25.01.12 13:16
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


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


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


I>>>>>Есть вагоны старого кода который работает до сих пор, там норма работать со строками например через char*. Ты реально представляешь, что такое перевод на нормальные строки проекта где 50-100мб плюсового кода ?

M>>>>А ты представляешь что такое перевод на жаву "проекта где 50-100мб плюсового кода" ?

I>>>Я нигде не предлагаю переводить проекты на джаву или C# или тебе мерещится обратное ?

M>>А я нигде не предлагаю переводить проекты на с++ или тебе мерещится обратное?

I>Вот на это:

I>">А использовать автоматический контроль ссылок и не иметь подобной проблемы религия запрещает?"

I>Был даден ответ:

I>"Есть вагоны старого кода который работает до сих пор, там норма работать со строками например через char*. Ты реально представляешь, что такое перевод на нормальные строки проекта где 50-100мб плюсового кода ?"

I>Объясни внятно, как на проекте в 50-100мб плюсового кода заюзать этот автоматический контроль ссылок или хотя бы строки разом пофиксить ?


Так это ты предлагаешь переводить этот старый проект на нормальные плюсы. Я то тут причем?
Re[31]: Программеры-линуксойды.
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.01.12 13:56
Оценка:
Здравствуйте, midl, Вы писали:


I>>Объясни внятно, как на проекте в 50-100мб плюсового кода заюзать этот автоматический контроль ссылок или хотя бы строки разом пофиксить ?


M>Так это ты предлагаешь переводить этот старый проект на нормальные плюсы. Я то тут причем?


Не предлагаю. Это ответ на "использовать автоматический контроль ссылок и не иметь подобной проблемы религия запрещает"
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.