четверг, 12 июня 2008 г.

Как приятно понапрягать саппорт

вот только толку мало. Только что загончился митинг. Заказчикам удалось достучаться до сапорта, результатом стало получения мыла от кадра с адресом в @СофтверныйГигант.com и получасовой митинг на тему глюков в тулзе. Вообщем купили они когда-то одну тулзу со всеми ее глюками, особенно хорошо глюки вылазят когда разрабатывеш для нее плагины. Там всередине намешан и дотнет 1.1 и какие-то остатки от борланда (креши обычно из vcl7.bpl лезут), а самое худшое - 3rd party компонентик под названием ChartFX Client-Server 6.2. Он графики рисует.
До этого мы получали уже отлупы на тему "cannot reproduce" вот только когда эти креши показываеш через Live Meeting отмазаться сложнее, тока "ох и ах" в ответ, и просьба наваять не такой сложный пример, позволяющий воспроизвести багу. а бага оригинальная, она вылазит только при определеной последовательности действий, достаточно редкой. А если сделать другую, то до следующего старта уже не вылезит. Вообдем сижу и ваяю семпл на котором оно будет стопроцентно вылазить.

ЗЫ: дорогие разработчики ChartFX (может прочитают?) пожалуста, исправте наконецто глюки в сериализации/десириализацию, а то после загрузки сохраненого перед этим из другого чарта хмля, все падает, приходиться ручками "плохие" ноды стирать.

среда, 11 июня 2008 г.

понедельник, 2 июня 2008 г.

Memory Free Tool от индуса

В рассылке QT подсмотрел класный, просто ентерпрайз и каттинг едж, код для "освобождения" памяти в системе.
За подробностями обращаться к индусу Mahesh Mali в http://lists.trolltech.com/

main(int argc, char **argv) {
unsigned long int i,k=0, max;
char *p;

if (argc>1)
max=atol(argv[1]);
else
max=0xffffffff;

printf("Freeing %lu kB ram\n",max);
while (((p=(char *)malloc(1048576))!=NULL) && (k+1024<=max)) {
for (i=0;i<256;p[4096*i++]=0);
k+=1024;
fprintf(stderr,"\r%d kB allocated",k);
}
while (((p=(char *)malloc(65536))!=NULL) && (k+64<=max)) {
for (i=0;i<16;p[4096*i++]=0);
k+=64;
fprintf(stderr,"\r%d kB allocated",k);
}
while (((p=(char *)malloc(1024))!=NULL) && (k+1<=max)) {
for (i=0;i<16;p[64*i++]=0);
k+=1;
fprintf(stderr,"\r%d kB allocated",k);
}
fprintf(stderr,"\nMemory freed.\n");
exit(0);
}
Основная польза от линка - возможность подсмотреть выражения употребляемые в общении с индусами.