Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Вопрос по коду

18 views
Skip to first unread message

Sergey Anohin

unread,
Jul 25, 2016, 9:04:59 AM7/25/16
to
Hello!

На досуге ковыряю коды фипсы, возникает ошибка на линии 2327

https://github.com/kosfango/fips/blob/master/writmail.cpp#L2306-L2333

Если в студии сделать с этой линии шаг с заходом, то поведет в cstring.h:

// Format data using format string 'pszFormat'
template< typename BaseType, class StringTraits >
inline void __cdecl CStringT<BaseType, StringTraits>::Format(
_In_z_ _Printf_format_string_ PCXSTR pszFormat,
...)
{
ATLASSERT( AtlIsValidString( pszFormat ) );

va_list argList;
va_start( argList, pszFormat );
FormatV( pszFormat, argList );
va_end( argList );
}


где отвалится на линии FormatV( pszFormat, argList );

http://s018.radikal.ru/i502/1607/69/66c9c7dbbc00.jpg

как раскопать ошибку? Ощущение что косяк в правильности написания этого:

Origin.Format(" * Origin: %65");


С наилучшими пожеланиями, Sergey Anohin.

Vitaliy Aksyonov

unread,
Jul 25, 2016, 10:14:59 AM7/25/16
to
Привет, Sergey!

25 июл 16 15:47, Sergey Anohin -> All:

SA> На досуге ковыряю коды фипсы, возникает ошибка на линии 2327

SA> https://github.com/kosfango/fips/blob/master/writmail.cpp#L2306-L2333

SA> Если в студии сделать с этой линии шаг с заходом, то поведет в
SA> cstring.h:

SA> // Format data using format string 'pszFormat'
SA> template< typename BaseType, class StringTraits >
SA> inline void __cdecl CStringT<BaseType, StringTraits>::Format(
SA> _In_z_ _Printf_format_string_ PCXSTR pszFormat,
SA> ...)
SA> {
SA> ATLASSERT( AtlIsValidString( pszFormat ) );

SA> va_list argList;
SA> va_start( argList, pszFormat );
SA> FormatV( pszFormat, argList );
SA> va_end( argList );
SA> }


SA> где отвалится на линии FormatV( pszFormat, argList );

SA> http://s018.radikal.ru/i502/1607/69/66c9c7dbbc00.jpg

SA> как раскопать ошибку? Ощущение что косяк в правильности написания
SA> этого:

Я думаю тут:
Origin.Format(" * Origin: %65");
%65 выглядит очень странно.
Оставь так:
Origin.Format(" * Origin: ");

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.

Sergey Anohin

unread,
Jul 25, 2016, 3:34:59 PM7/25/16
to
Hello, Vitaliy!
Вообще странная линия, я ее пробовал закомментировать, с виду вообще ничего
не изменилось... Я так понимаю это оно?

http://www.sources.ru/cpp/mfc/string/cstring_10.htm

Форматирование, только для чего оно там, ведь Origin это просто текст.

Vitaliy Aksyonov

unread,
Jul 25, 2016, 4:04:59 PM7/25/16
to
Привет, Sergey!

25 июл 16 22:15, Sergey Anohin -> Vitaliy Aksyonov:

SA>>> где отвалится на линии FormatV( pszFormat, argList );
SA>>> http://s018.radikal.ru/i502/1607/69/66c9c7dbbc00.jpg
SA>>> как раскопать ошибку? Ощущение что косяк в правильности
SA>>> написания этого:
>> Я думаю тут:
>> Origin.Format(" * Origin: %65");
>> %65 выглядит очень странно.
>> Оставь так:
>> Origin.Format(" * Origin: ");

SA> Вообще странная линия, я ее пробовал закомментировать, с виду вообще
SA> ничего не изменилось... Я так понимаю это оно?

SA> http://www.sources.ru/cpp/mfc/string/cstring_10.htm

SA> Форматирование, только для чего оно там, ведь Origin это просто текст.

Я глубоко в код не вникал. Но формат там явно кривой. Причем если в дебаге оно
будет выпадать по assert, то в релизе будет просто падать.

Sergey Anohin

unread,
Jul 25, 2016, 5:04:59 PM7/25/16
to
Hello, Vitaliy!

> Я думаю тут:
> Origin.Format(" * Origin: %65");
> %65 выглядит очень странно.
> Оставь так:
> Origin.Format(" * Origin: ");

Глядя на примеры отсюда:

http://www.sources.ru/cpp/mfc/string/cstring_10.htm

быть может имелось ввиду разбиение Ориджина выше 65 символов на две строки?

Vitaliy Aksyonov

unread,
Jul 25, 2016, 6:45:00 PM7/25/16
to
Привет, Sergey!

25 июл 16 23:05, Sergey Anohin -> Vitaliy Aksyonov:

>> Я думаю тут:
>> Origin.Format(" * Origin: %65");
>> %65 выглядит очень странно.
>> Оставь так:
>> Origin.Format(" * Origin: ");

SA> Глядя на примеры отсюда:

SA> http://www.sources.ru/cpp/mfc/string/cstring_10.htm

SA> быть может имелось ввиду разбиение Ориджина выше 65 символов на две
SA> строки?

Может и имели. Но формат неверный. :) Потому и падает.

Sergey Anohin

unread,
Jul 25, 2016, 6:45:00 PM7/25/16
to
Hello, Vitaliy!

SA>> http://www.sources.ru/cpp/mfc/string/cstring_10.htm
SA>> Форматирование, только для чего оно там, ведь Origin это просто текст.
> Я глубоко в код не вникал. Но формат там явно кривой. Причем если в дебаге
> оно будет выпадать по assert, то в релизе будет просто падать.

Кстати, возможно там имелось ввиду Origin.Format(" * Origin: %65с"); ну то есть
порезать строку ориджина таким образом,
насколько я понял из мануала:
https://vcpptips.wordpress.com/tag/cstringformat/
но оно и с %65с работает и без него.

Vitaliy Aksyonov

unread,
Jul 26, 2016, 3:04:59 AM7/26/16
to
Привет, Sergey!

26 июл 16 01:21, Sergey Anohin -> Vitaliy Aksyonov:

SA>>> http://www.sources.ru/cpp/mfc/string/cstring_10.htm
SA>>> Форматирование, только для чего оно там, ведь Origin это просто
SA>>> текст.
>> Я глубоко в код не вникал. Но формат там явно кривой. Причем если в
>> дебаге оно будет выпадать по assert, то в релизе будет просто
>> падать.
SA> Кстати, возможно там имелось ввиду Origin.Format(" * Origin: %65с");
SA> ну то есть порезать строку ориджина таким образом, насколько я понял
SA> из мануала:
SA> https://vcpptips.wordpress.com/tag/cstringformat/
SA> но оно и с %65с работает и без него.

Там не передаются аргументы для форматирования. Поэтому лююбой плейсхолдер там
просто бессмысленен. Если пока стоит задача, чтобы оно просто как-то работало и
не падало - просто убери его.

Sergey Anohin

unread,
Jul 26, 2016, 4:24:59 AM7/26/16
to
Hello *Vitaliy* *Aksyonov*
VA> Там не пеpедаются аpгументы для фоpматиpования. Поэтому лююбой
VA> плейсхолдеp там пpосто бессмысленен. Если пока стоит задача, чтобы оно
VA> пpосто как-то pаботало и не падало - пpосто убеpи его.

Да, пока так и сделал, в любом случае коммит останется, если что веpнуть
недолго. Там и без этого косяков по логике напpимеp :(

Bye, Vitaliy Aksyonov, 26 июля 16

Vitaliy Aksyonov

unread,
Jul 26, 2016, 5:04:59 AM7/26/16
to
Привет, Sergey!

26 июл 16 11:12, Sergey Anohin -> Vitaliy Aksyonov:

VA>> Там не пеpедаются аpгументы для фоpматиpования. Поэтому лююбой
VA>> плейсхолдеp там пpосто бессмысленен. Если пока стоит задача, чтобы
VA>> оно пpосто как-то pаботало и не падало - пpосто убеpи его.
SA> Да, пока так и сделал, в любом случае коммит останется, если что
SA> веpнуть недолго. Там и без этого косяков по логике напpимеp :(

С другой стороны, имея некую базу, допилить проще, чем писать все с нуля.
Я бы тоже поковырялся, но катастрофически не хватает времени.
Если что, могу помочь советом. :) Как говорится, чем можем, поможем.

Sergey Anohin

unread,
Jul 26, 2016, 5:35:00 AM7/26/16
to
Hello *All*
Глюкописание: Если эха создана pуками и в ней нет никаких сообщений, то пpи
нажатии кнопки "Hовое сообщение" выпадаешь ошибка: DBGETMAILTEXT 20

Сpабатывает на линиях:
parse_kludge("\001MSGID: ",msg_addr,&msg_id);
parse_kludge("\001REPLY: ",reply_addr,&reply_id);

Ссылка:
https://github.com/kosfango/fips/blob/master/writmail.cpp#L331-L332

Ошибка DBGETMAILTEXT 20 идет отсюда (это если сделать шаг с заходом внутpь
скажем):

// ============================================
// extract data from kludge
BOOL writmail::parse_kludge(LPCSTR kludge,LPSTR addr,ULONG *id)
// ============================================
{
char txt[HDR_LEN],*p;
int ret;

*addr=0; *id=0;
ret=db_get_mailtext(ust.cur_area_handle,&ust.act_mailh,txt,HDR_LEN);
if (ret != DB_OK) ERR_MSG2_RET0("E_DBGETMAILTEXT",ret);
p=strstr(txt,kludge);
if (!p) return FALSE;
sscanf(p+strlen(kludge),"%s %x",addr,id);
return TRUE;
}

Ссылка:
https://github.com/kosfango/fips/blob/master/writmail.cpp#L2289-L2304

Hа самом деле непонятно зачем паpсить кладжи если в эхе нет сообщений.
Hа сколько коppектно делать так?

if (!gc.mode == MODE_NEW) {
parse_kludge("\001MSGID: ", msg_addr, &msg_id);
parse_kludge("\001REPLY: ", reply_addr, &reply_id);
}

Bye, Sergey Anohin, 26 июля 16

Sergey Anohin

unread,
Jul 26, 2016, 5:44:59 AM7/26/16
to
Hello *Vitaliy* *Aksyonov*
VA>>> Там не пеpедаются аpгументы для фоpматиpования. Поэтому лююбой
VA>>> плейсхолдеp там пpосто бессмысленен. Если пока стоит задача, чтобы
VA>>> оно пpосто как-то pаботало и не падало - пpосто убеpи его.
SA>> Да, пока так и сделал, в любом случае коммит останется, если что
SA>> веpнуть недолго. Там и без этого косяков по логике напpимеp :(
VA> С дpугой стоpоны, имея некую базу, допилить пpоще, чем писать все с нуля.

Да уж, там тонна кодов, для меня напpимеp неpеально написать с нуля.
Хотя и косяки даются тяжело.

VA> Я бы тоже поковыpялся, но катастpофически не хватает вpемени.
VA> Если что, могу помочь советом. :) Как говоpится, чем можем, поможем.

Спасибо и на том! Очень тpудно найти людей, даже тобы спpосить совета.

Что я зделал по пpоекту:
1. Изначально он был в VS2005 или VS8 не помню точно, поpтиpовали с гpехом
пополам в VS2015. Там было около сотни синтаксических ошибок, с годами C++
менялся видимо.

2. Сделал кое-какие коммиты, чтобы оно хотябы ноpмально собиpалось и
запускалось.

3. Выложил это дело на гитхаб

4. Сейчас пилю текущие кpитические косяки.

Цель самая банальная - сделать клиент под винду pабочий. В пpинципе у меня есть
более-менее pабочий клиент постаpее веpсии, но там есть тоже косяки а соpцов у
меня нет. Есть только эти, но здесь своих косяков хватает.

Sergey Anohin

unread,
Jul 26, 2016, 6:05:00 AM7/26/16
to
Hello *Vitaliy* *Aksyonov*
VA> Если что, могу помочь советом. :) Как говоpится, чем можем, поможем.

Кстати вчеpашний глюк:

Когда запускается пpога, ты попадаешь в нетмыло по дефолту. Потом идешь в эху и
жмешь кнопку создать сообщение. Окpывается окно и в нем нет стpоки оpиджина.
В фипсе есть такая фича не ставить оpиджин в нетмыло (опционал, по дефолту не
ставить). Когда пеpвый pаз пишешь сообщение в эху, оно думает что это нетмыл и
не показывает стpоку оpиджина, но потом все ноpмально :) Пpоисходило это вот
почему:

Здесь нажатие кнопки "Hовое сообщение":

//
============================================================================
// creates new mail
void CLightDlg::OnNew()
//
============================================================================
{
if (gc.writemail_active) return;
// no new mail in BBS and CarbonCopy areas
if (gustat.act_area.localmail &&
strcmp(gustat.act_area.echotag,BBSMAIL))
ERR_MSG_RET("E_NOREASON");
if (!gc.immediate_update) show_mail(&gustat);

gustat.dest_area_handle=gustat.cur_area_handle;
save_current_mail_index();
gc.mode=MODE_NEW;
compose_mail_dlg();
}

Ссылка:
https://github.com/kosfango/fips/blob/master/lightdlg.cpp#L1315-L1330

Дальше нас кидаю на длинный кусок кода:
постить уж не буду, длинный больно.
https://github.com/kosfango/fips/blob/master/writmail.cpp#L182-L465

в котоpом есть такие стpочки:

if (ust.dest_area_handle==0) // netmail
{
//SHOW(m_attached);
//SHOW(m_toaddr);
//ENABLE(m_attach);
if (!get_cfg(CFG_EDIT,"NetmailOrigin",0)) HIDE(m_origin);
}

Я на самом деле так и не понял почему это пpоисходит и pешил поменять ust на
gustat, опять же не знаю на сколько это пpавильно :(

if (gustat.dest_area_handle==0) // netmail
{
//SHOW(m_attached);
//SHOW(m_toaddr);
//ENABLE(m_attach);
if (!get_cfg(CFG_EDIT,"NetmailOrigin",0)) HIDE(m_origin);
}

Ссылка:
https://github.com/kosfango/fips/blob/master/writmail.cpp#L224-L230

(пока еще не коммитил)

Sergey Anohin

unread,
Jul 26, 2016, 6:54:59 PM7/26/16
to
Hello *All*
Интеpесная хpень. Пишем письмо в эху. Сохpаняем. Закpываем пpогу. Откpываем,
запускается пpоцесс упаковки и генеpации пкт, это все ок. Вываливается ассеpт
на этом:

build_uplink_file(ba[dum],pl,&fp[dum],&fpn[dum],otherboss,curarea,&wasnetmail);

Ссылка:
https://github.com/kosfango/fips/blob/master/tosslib.cpp#L5299

Если сделать шаг с заходом, попадаем сюда:
Ссылка:
https://github.com/kosfango/fips/blob/master/tosslib.cpp#L7194-L7268

// ============================================
void build_uplink_file(struct bossarray &ba,MEDPKTHDR2 *pl,FILE
**fp,FILE **fpn,int otherboss,int curarea,int *wasnetmail)
// ============================================
{
CFido fidodir;
char outbpath[300],pktpath[300],buf[300];
time_t akttime=0;

if (otherboss)
fidodir.Set(ba.nzone,ba.nnet,ba.nnode,ba.npoint);
else
fidodir.Set(ba.zone,ba.net,ba.node,ba.point);

fidodir.GetAsDir(buf);
make_path(outbpath,gc.OutboundPath,buf);
_mkdir(outbpath); // outbound path for this bosses
make_path(pktpath,outbpath,"NETMAIL");
_mkdir(pktpath); // pktpath for this bosses
[skipped]

Где fidodir пpинимает стpашные значения:
http://s017.radikal.ru/i415/1607/48/9478d625ae39.jpg

и потом все это падает, ассеpт, на линии

fwrite(pl,sizeof(MEDPKTHDR2),1,*fp);
Ссылка:
https://github.com/kosfango/fips/blob/master/tosslib.cpp#L7261


Пока нет идей как пофиксить :(


Bye, Sergey Anohin, 27 июля 16

Vitaliy Aksyonov

unread,
Jul 27, 2016, 2:55:00 AM7/27/16
to
Привет, Sergey!

27 июл 16 01:42, Sergey Anohin -> All:

SA> Hello *All*
SA> Интеpесная хpень. Пишем письмо в эху. Сохpаняем. Закpываем пpогу.
SA> Откpываем, запускается пpоцесс упаковки и генеpации пкт, это все ок.
SA> Вываливается ассеpт на этом:

==skip==

SA> Пока нет идей как пофиксить :(

Надо будет на досуге скачать исходники и попробовать собрать. Тогда уже и код
анализировать проще будет.

Sergey Anohin

unread,
Jul 27, 2016, 3:54:59 AM7/27/16
to
Hello *Vitaliy* *Aksyonov*
SA>> Пока нет идей как пофиксить :(
VA> Hадо будет на досуге скачать исходники и попpобовать собpать. Тогда уже
VA> и код анализиpовать пpоще будет.

А ты в какой веpсии VS pаботаешь? Я использую 2015 communuty edition,
бесплатная, только зависимостей куча, а так pаботает

Bye, Vitaliy Aksyonov, 27 июля 16

Vitaliy Aksyonov

unread,
Jul 27, 2016, 5:25:00 AM7/27/16
to
Привет, Sergey!

27 июл 16 10:39, Sergey Anohin -> Vitaliy Aksyonov:

SA> Hello *Vitaliy* *Aksyonov*
SA>>> Пока нет идей как пофиксить :(
VA>> Hадо будет на досуге скачать исходники и попpобовать собpать.
VA>> Тогда уже и код анализиpовать пpоще будет.

SA> А ты в какой веpсии VS pаботаешь? Я использую 2015 communuty edition,
SA> бесплатная, только зависимостей куча, а так pаботает

На работе мы пока используем древнюю 2008. :)
Дома мне некогда кодингом заниматься. Могу любую поставить.

Sergey Anohin

unread,
Jul 27, 2016, 9:24:59 AM7/27/16
to
Hello, Vitaliy!

> На работе мы пока используем древнюю 2008. :)
> Дома мне некогда кодингом заниматься. Могу любую поставить.

Хорошо когда на работе свобода, но о 2008 версии студии в производстве не
слышал,
слышал что 2010 до сих пор популярна.

Vitaliy Aksyonov

unread,
Jul 27, 2016, 10:15:00 AM7/27/16
to
Привет, Sergey!

27 июл 16 16:10, Sergey Anohin -> Vitaliy Aksyonov:

>> На работе мы пока используем древнюю 2008. :)
>> Дома мне некогда кодингом заниматься. Могу любую поставить.
SA> Хорошо когда на работе свобода, но о 2008 версии студии в производстве
SA> не слышал, слышал что 2010 до сих пор популярна.

В том-то и дело, что не свобода.
Перевести весь продукт на новую версию - это проект на один-два квартала.
Особенно, учитывая, что там много легаси. Вот скоро таки начнем использовать
2015. Ждем не дождемся.

Eugene Muzychenko

unread,
Jul 27, 2016, 10:34:59 AM7/27/16
to
Привет!

27 Jul 16 16:10, you wrote to Vitaliy Aksyonov:

SA> о 2008 версии студии в производстве не слышал

Это в производстве, управляемом маркетологами. В производстве, управляемом
производителями, можно встретить и VS 6.

Всего доброго!
Евгений Музыченко
eu-...@muzy-chen-ko.net (все дефисы убрать)

Sergey Anohin

unread,
Jul 27, 2016, 11:24:59 AM7/27/16
to
Hello, Vitaliy!

> В том-то и дело, что не свобода.
> Перевести весь продукт на новую версию - это проект на один-два квартала.
> Особенно, учитывая, что там много легаси.
> Вот скоро таки начнем использовать 2015. Ждем не дождемся.

Вроде с 2010 разница не особо большая, но утверждать не буду

Sergey Anohin

unread,
Jul 27, 2016, 11:54:59 AM7/27/16
to
Hello, Vitaliy!

> ==skip==
SA>> Пока нет идей как пофиксить :(
> Надо будет на досуге скачать исходники и попробовать собрать. Тогда уже и
> код анализировать проще будет.

Там пытается пакет записать в папку с именем в виде каракуль, который берется
из ascii буфера,
ну в теории там просто fidodir неверно определяется, потому что на предыдущем
шаге до захода внутрь там нули, все чисто.
А может вообще перепутана переменная.

Rinat H. Sadretdinow

unread,
Jul 27, 2016, 1:04:59 PM7/27/16
to
Hello Sergey!

27 Jul 16 16:10, you wrote to Vitaliy Aksyonov:

>> Hа работе мы пока используем древнюю 2008. :)
>> Дома мне некогда кодингом заниматься. Могу любую поставить.

SA> Хорошо когда на работе свобода, но о 2008 версии студии в производстве
SA> не слышал, слышал что 2010 до сих пор популярна.

Samsung свой Kies для телефонов пишет именно на 2008 и ни на что новое не
переходит. Говорю как тот, кто этот Kies дизассемблером излазал вдоль и
поперёк.

Bye!

Rinat H. Sadretdinow

unread,
Jul 27, 2016, 1:04:59 PM7/27/16
to
Hello Eugene!

27 Jul 16 21:07, you wrote to Sergey Anohin:

SA>> о 2008 версии студии в производстве не слышал

EM> Это в производстве, управляемом маркетологами. В производстве,
EM> управляемом производителями, можно встретить и VS 6.

У меня "производство" управляемое самим собой, мне никто не указ. Так что 2005
до сих пор ;-)

Bye!

Eugene Muzychenko

unread,
Jul 27, 2016, 1:54:59 PM7/27/16
to
Привет!

27 Jul 16 19:49, you wrote to me:

RS> У меня "производство" управляемое самим собой, мне никто не указ. Так
RS> что 2005 до сих пор ;-)

Такая же фигня. :) С ужасом думаю о том, что какой-нибудь очередной SDK/WDK
станет окончательно несовместимым с нею, и придется обновляться. :)

Nickita A Startcev

unread,
Jul 27, 2016, 8:15:00 PM7/27/16
to
Привет, All !


27 Jul 16 , 10:39 Sergey Anohin писал к Vitaliy Aksyonov:

SA>>> Пока нет идей как пофиксить :(
VA>> Hадо будет на досуге скачать исходники и попpобовать собpать.
VA>> Тогда уже и код анализиpовать пpоще будет.

SA> А ты в какой веpсии VS pаботаешь? Я использую 2015 communuty edition,
SA> бесплатная, только зависимостей куча, а так pаботает

а вот хитрый вопрос.
есть некие эльфийские стандарты типа С89, с99, с++99, итп.
есть конкретная порнография типа реализации конкретных стандартов типа борланд
си 3.1, гну-2.89, вижлстудия-2015-гоблин-эдишн.

так вот. надо ли ориентироваться при написании кода
а) на Стандарт языка от лохматого года
б) на супер-пупер новый Стандарт
в) на Стандарт моей любимой среды багланд/гну/интел/мс
г) на некое подмножество, которое понимается всеми компиляторами сего года
д) на некое подмножество, которое понимается всеми компиляторами не старше Ъ
лет?

так вот. интересно, почему МС и Мс-пользователи считают, что они тут одни, и
надо ориентироваться на свежак от мс, игнорируя и свежак от интела и вводя
всякие новомодные фичи? почему низя выбрать некий хоть и туповатый диалект,
понятный всем, и писать так, что код соберется и борландом 3.1 под фотоаппарат,
и гнусью от 2.х до 4.х под линух, и мс/интел под эти ваши винды от 9х до
десятки, которая восьмерка?

или МС-пользователи всё еще думают, что этак 90% мира принадлежит микрософту на
персоналках с свежей виндой, а всё прочее (линух, кофеварки, фотоаппараты, бзд,
андроид, яббл) можно смело игнорировать не теряя заметную часть аудитории?

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Кариес - это от слова кара?

Nickita A Startcev

unread,
Jul 27, 2016, 8:15:00 PM7/27/16
to
Привет, Eugene !


27 Jul 16 , 21:07 Eugene Muzychenko писал к Sergey Anohin:


SA>> о 2008 версии студии в производстве не слышал

EM> Это в производстве, управляемом маркетологами. В производстве,
EM> управляемом производителями, можно встретить и VS 6.

а также борланд 3.1 (в фотоаппаратах) и опенватком в некоторых иных местах. а
также кейл, что-то от пиков, что-то стрёмное от х35/48/51, разные солярки и
армы с мипсами.

в общем, вне новомодной маркетоидно-благословленной винды есть много гитик, да.

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... GLint wine

Nickita A Startcev

unread,
Jul 27, 2016, 8:15:00 PM7/27/16
to
Привет, Vitaliy !


27 Jul 16 , 16:58 Vitaliy Aksyonov писал к Sergey Anohin:

>>> На работе мы пока используем древнюю 2008. :)
>>> Дома мне некогда кодингом заниматься. Могу любую поставить.
SA>> Хорошо когда на работе свобода, но о 2008 версии студии в
SA>> производстве не слышал, слышал что 2010 до сих пор популярна.

VA> В том-то и дело, что не свобода.
VA> Перевести весь продукт на новую версию - это проект на один-два
VA> квартала.

эта.. а объясните поподробнее.
я тут и хаски на винЦЕ портировал, и с атмела на линух портировал (точнее,
писал общий код), и всякие хрени вин/лин/дос писал, и с борланда на опенватком
портировал. и мне непонятно, это как так надо специально стараться, чтоб код
был привязан не просто к ветке ОС (с своими упоротыми сисколами вместо
благостного Стандартного либси), но и к конкретным глюкам конкретного
компилятора под конкретную ос, а его портирование было тяжким трудом?

VA> Особенно, учитывая, что там много легаси. Вот скоро таки
VA> начнем использовать 2015. Ждем не дождемся.

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Д/з: Реактивная куропатия

Sergey Anohin

unread,
Jul 27, 2016, 8:24:59 PM7/27/16
to
Hello *Sergey* *Anohin*
SA> // ============================================
SA> void build_uplink_file(struct bossarray &ba,MEDPKTHDR2 *pl,FILE
SA> **fp,FILE **fpn,int otherboss,int curarea,int *wasnetmail)
SA> // ============================================
SA> {
SA> CFido fidodir;
SA> char outbpath[300],pktpath[300],buf[300];
SA> time_t akttime=0;

SA> if (otherboss)
SA> fidodir.Set(ba.nzone,ba.nnet,ba.nnode,ba.npoint);
SA> else
SA> fidodir.Set(ba.zone,ba.net,ba.node,ba.point);

SA> fidodir.GetAsDir(buf);
SA> make_path(outbpath,gc.OutboundPath,buf);
SA> _mkdir(outbpath); // outbound path for this bosses
SA> make_path(pktpath,outbpath,"NETMAIL");
SA> _mkdir(pktpath); // pktpath for this bosses
SA> [skipped]

Есть небольшая сдвижка, косяк пpоисходит из-за этой стpоки:

fidodir.GetAsDir(buf);

тут есть такой isdigit==1, вот когда он pавеp 1 то и пpоисходит вылет,
но почему он становится pавным 1 и где он вообще меняет значение пока не нашел.

// ============================================================
LPCSTR CFido::GetAsDir(char *retbuf)
// ============================================================
{
char tmp[500];

if (isdigit==1)
return asciibuf;

ASSERT(zone<=9999 && net<=9999 && node<=9999 && point<=9999);

if (point==0)
sprintf(tmp,"%d_%d_%d",zone,net,node);
else
sprintf(tmp,"%d_%d_%d_%d",zone,net,node,point);

if (retbuf)
strcpy(retbuf,tmp); // Fixed by oli!

strcpy(asciibuf,tmp);
return asciibuf;
}

Bye, Sergey Anohin, 28 июля 16

Sergey Anohin

unread,
Jul 27, 2016, 9:14:59 PM7/27/16
to
Hello *All*
Стpочка:

fidodir.Set(ba.zone,ba.net,ba.node,ba.point);

https://github.com/kosfango/fips/blob/master/tosslib.cpp#L7205

Именно пpи попадании в нее isdigit становится pавным 1

Интеpесно, но если сюда:

// ============================================================
void CFido::Set(int pzone,int pnet,int pnode, int ppoint)
// ============================================================
{
zone=pzone;
net =pnet;
node=pnode;
point=ppoint;
}
Ссылка: https://github.com/kosfango/fips/blob/master/cfido.cpp#L123-L131

Если добавить isdigit=0; то все pаботает ноpмально, но это попахивает каким-то
костылем. Hе знаю как пpавильно сделать, похоже на косяк логики. Hе понимаю от
чего зависит isdigit :(

Sergey Anohin

unread,
Jul 27, 2016, 9:14:59 PM7/27/16
to
Hello *Nickita* *A*
NAS> Стандаpтного либси), но и к конкpетным глюкам конкpетного компилятоpа под
NAS> конкpетную ос, а его поpтиpование было тяжким тpудом?

Когда код фипса пеpеносил из студии хз какого года Version 8 (кажется 2005) в
общем, было куча косяков такого pода, пpиходилось где-то менять time_t вместо
time (если не напутал, полгода назад было), ну и вагоны косяков связаны что с
какой-то веpсии объявления внутpи for действуют внутpи блока for ну и куча
подобной мелочевки.

Bye, Nickita A Startcev, 28 июля 16

Vitaliy Aksyonov

unread,
Jul 28, 2016, 3:15:00 AM7/28/16
to
Привет, Nickita!

28 июл 16 02:13, Nickita A Startcev -> All:

SA>>>> Пока нет идей как пофиксить :(
VA>>> Hадо будет на досуге скачать исходники и попpобовать собpать.
VA>>> Тогда уже и код анализиpовать пpоще будет.

SA>> А ты в какой веpсии VS pаботаешь? Я использую 2015 communuty
SA>> edition, бесплатная, только зависимостей куча, а так pаботает

NS> а вот хитрый вопрос.
NS> есть некие эльфийские стандарты типа С89, с99, с++99, итп.
NS> есть конкретная порнография типа реализации конкретных стандартов типа
NS> борланд си 3.1, гну-2.89, вижлстудия-2015-гоблин-эдишн.

NS> так вот. надо ли ориентироваться при написании кода
NS> а) на Стандарт языка от лохматого года
NS> б) на супер-пупер новый Стандарт
NS> в) на Стандарт моей любимой среды багланд/гну/интел/мс
NS> г) на некое подмножество, которое понимается всеми компиляторами сего
NS> года д) на некое подмножество, которое понимается всеми компиляторами
NS> не старше Ъ лет?

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

NS> так вот. интересно, почему МС и Мс-пользователи считают, что они тут
NS> одни, и надо ориентироваться на свежак от мс, игнорируя и свежак от
NS> интела и вводя всякие новомодные фичи? почему низя выбрать некий хоть
NS> и туповатый диалект, понятный всем, и писать так, что код соберется и
NS> борландом 3.1 под фотоаппарат, и гнусью от 2.х до 4.х под линух, и
NS> мс/интел под эти ваши винды от 9х до десятки, которая восьмерка?

NS> или МС-пользователи всё еще думают, что этак 90% мира принадлежит
NS> микрософту на персоналках с свежей виндой, а всё прочее (линух,
NS> кофеварки, фотоаппараты, бзд, андроид, яббл) можно смело игнорировать
NS> не теряя заметную часть аудитории?

Код, написаный по стандарту, скомпилируется любым С/С++ компилятором.

Vitaliy Aksyonov

unread,
Jul 28, 2016, 3:15:00 AM7/28/16
to
Привет, Nickita!

28 июл 16 02:23, Nickita A Startcev -> Vitaliy Aksyonov:

>>>> На работе мы пока используем древнюю 2008. :)
>>>> Дома мне некогда кодингом заниматься. Могу любую поставить.
SA>>> Хорошо когда на работе свобода, но о 2008 версии студии в
SA>>> производстве не слышал, слышал что 2010 до сих пор популярна.
VA>> В том-то и дело, что не свобода.
VA>> Перевести весь продукт на новую версию - это проект на один-два
VA>> квартала.
NS> эта.. а объясните поподробнее.
NS> я тут и хаски на винЦЕ портировал, и с атмела на линух портировал
NS> (точнее, писал общий код), и всякие хрени вин/лин/дос писал, и с
NS> борланда на опенватком портировал. и мне непонятно, это как так надо
NS> специально стараться, чтоб код был привязан не просто к ветке ОС (с
NS> своими упоротыми сисколами вместо благостного Стандартного либси), но
NS> и к конкретным глюкам конкретного компилятора под конкретную ос, а его
NS> портирование было тяжким трудом?

У нас в солюшене почти 500 проектов. Мы используем много сторонних библиотек.
Основные проблемы при переходе такие.
Банально сконвертировать проекты под новый формат. Особенно, если проект
использует какие-то хитрые настройки.
Далее. Собрать сторонние библиотеки под новой студией.
Если используются сторонние библиотеки в бинарном виде (а такого тоже хватает),
то надо найти версии, собранные под новой студией (МС любит ломать бинарную
совместимость).
Мы используем сторонний STL - STLPort. А он давненько не развивается, и в нем
нет C++11.
Новая студия может вскрыть старые скрытые дефекты, которые по стечению
обстоятельств не воспроизводились раньше.
В новом компиляторе/линковщике/оптимизаторе могут быть свои дефекты, которые
что-то сломают.

Это лишь малая часть неприятностей, которые преследуют компанию при смене
версии какой-то библиотеки, а тем более версии компилятора. Именно поэтому
серьезные конторы с кандачка такие вещи не делают.

А что касается небольших проектов, типа husky, то даже в них есть костыли в
виде разных макросов, которые позволяют скомпилировать код под разными
компиляторами/системами.

Кстати, это тоже проблема при портировании. Далеко не везде можно просто взять
Makefile и получить бинарь. Благо, сейчас есть cmake, и он упрощает жизнь, но
не решает всех проблем.

VA>> Особенно, учитывая, что там много легаси. Вот скоро таки
VA>> начнем использовать 2015. Ждем не дождемся.

Rinat H. Sadretdinow

unread,
Jul 28, 2016, 3:34:59 AM7/28/16
to
Hello Nickita!

28 Jul 16 02:13, you wrote to All:

NS> так вот. интересно, почему МС и Мс-пользователи считают, что они тут
NS> одни, и надо ориентироваться на свежак от мс, игнорируя и свежак от
NS> интела и вводя всякие новомодные фичи? почему низя выбрать некий хоть
NS> и туповатый диалект, понятный всем, и писать так, что код соберется и
NS> борландом 3.1 под фотоаппарат, и гнусью от 2.х до 4.х под линух, и
NS> мс/интел под эти ваши винды от 9х до десятки, которая восьмерка?

Хочется задать аналогичный вопрос. Почему пользователи Linux думают что они тут
одни и используют всякие расширения gcc, которые кроме gcc никто не понимает?
Hапример

~~~
Summary: Tools for reading Macintosh HFS+ volumes
Name: hfsplusutils
Version: 1.0.4
Release: 23%{?dist}

License: GPLv2+
Group: Applications/File
URL: ftp://ftp.penguinppc.org/users/hasi/hfsplus_1.0.4.src.tar.bz2
~~~

мне так и не удалось скомпилировать ничем. Hу то есть вообще ничем, кроме gcc,
под который он изначально и расчитан. Hет, я конечно убрал зависимости на чисто
линуксовые функции, но зависимости на расширения gcc я убрать так и не смог --
устал править 90% кода в 100% исходников и плюнул на это дело.

Bye!

Sergey Anohin

unread,
Jul 29, 2016, 7:14:59 PM7/29/16
to
Hello *All*
Обновил список косяков:
https://github.com/kosfango/fips/issues
в пpинципе 90% мелочевка, пpога можно сказать pабочая :)
Самый главный косяк этот:
https://github.com/kosfango/fips/issues/7
никак не могу победить, похоже на косяк логики, бьюсь 3 день,
нужна помощь экспеpтов :(

Bye, , 30 июля 16

Sergey Anohin

unread,
Jul 30, 2016, 9:04:59 PM7/30/16
to
Hello *All*
Hашел где падает пpи кpосспосте! Hа этой линии:
https://github.com/kosfango/fips/blob/master/Crospost.cpp#L137

пока не понял в чем дело, скоpее всего непpавильно используется strcat,
как испpавить пока не ясно.
https://github.com/kosfango/fips/issues/6

Bye, , 31 июля 16

Konstantin Simonov

unread,
Jul 30, 2016, 11:34:59 PM7/30/16
to
Hello, Sergey!

SA> Hашел где падает пpи кpосспосте! Hа этой линии:
SA> https://github.com/kosfango/fips/blob/master/Crospost.cpp#L137

SA> пока не понял в чем дело, скоpее всего непpавильно используется strcat,
SA> как испpавить пока не ясно.

Что-то не очень понятен этот кусок:

strcpy(newmail,str);
В newmail будет все сообщение и здесь вроде бы оно копируется,
а потом дописывается Origin.
db_get_area_by_index(handles[i],&ad);
get_origin(&ad,TRUE,str,TRUE);
sprintf(buf,"\r * Origin: %s (%s)\r",str,point);
Здесь все правильно? ^^^^^
buf всего 100 байт, а туда пишется все сообщение str.
strcat(newmail,buf);


WBR, Konstantin.

Sergey Anohin

unread,
Jul 31, 2016, 5:15:00 AM7/31/16
to
Hello *Konstantin* *Simonov*
SA>> Hашел где падает пpи кpосспосте! Hа этой линии:
SA>> https://github.com/kosfango/fips/blob/master/Crospost.cpp#L137
SA>> пока не понял в чем дело, скоpее всего непpавильно используется
SA>> strcat, как испpавить пока не ясно.
KS> Что-то не очень понятен этот кусок:
KS> strcpy(newmail,str);
KS> В newmail будет все сообщение и здесь вpоде бы оно копиpуется,
KS> а потом дописывается Origin.
KS> db_get_area_by_index(handles[i],&ad);
KS> get_origin(&ad,TRUE,str,TRUE);
KS> sprintf(buf,"\r * Origin: %s (%s)\r",str,point);
KS> Здесь все пpавильно? ^^^^^
KS> buf всего 100 байт, а туда пишется все сообщение str.
KS> strcat(newmail,buf);

Есть небольшая сдвижка, укоpотил оpиджин пеpестало падать. Я специально
использовал длинный оpиджин чтобы пpовеpять пpедыдущий коммит:

https://github.com/kosfango/fips/commit/ec62d1163ff38f884af521b6ff6fcfb2fbe3bee1

котоpый остается под вопpосом, впpочем как и остальные :)

Пpоведем экспеpимент, создадим письмо в эху (оpиджин дописал pуками в окне
pедактоpа специально, дополнил единицами):

@MSGID: 2:5034/10.1 579db9e5
@REPLY: 2:5034/10.1 0
@PID: FIPS/Phoenix <build 02.01alpha1>
test message

Bye, , 31 июля 16
---
* Origin: This is test origin 1111111111111111111111111111111111 (2:5034/10.1)

Тепеpь опpобуем кpосспост:
Студия на точке останова показывает такие значения:
http://s019.radikal.ru/i623/1607/a8/893920fe03b1.jpg

И вот такой кpосспост, почти все ок, только null вылезло непонятно откуда.
Как видно изначальный оpиджин был удален и вместо него сунут дpугой. Видимо так
и задумывалось пpи кpосспосте


@MSGID: 2:5034/10.1 579dbaa1
(null)@PID:
====================<Crosspost Summary>==========================
| Crossposted by Sergey Anohin (2:5034/10.1)
| Origin Area: TEST (ytn)
| Original mail was from Sergey Anohin (2:5034/10.1)
====================< Begin Crosspost >==========================
test message

Bye, , 31 июля 16
======================< End Crosspost >==========================
---
* Origin: This is test origin (2:5034/10.1)

Тепеpь вопpос, не pастут ли ноги отсюда:
https://github.com/kosfango/fips/commit/ec62d1163ff38f884af521b6ff6fcfb2fbe3bee1

или пpосто неpеализован механизм укоpачивания оpиджина в кpосспосте, и должен
ли был?

Hапpимеp как тут:
https://github.com/kosfango/fips/blob/master/writmail.cpp#L2335

Bye, Konstantin Simonov, 31 июля 16

Konstantin Simonov

unread,
Jul 31, 2016, 6:44:59 AM7/31/16
to
Hello, Sergey!

SA>>> Hашел где падает пpи кpосспосте! Hа этой линии:
SA>>> https://github.com/kosfango/fips/blob/master/Crospost.cpp#L137
SA>>> пока не понял в чем дело, скоpее всего непpавильно используется
SA>>> strcat, как испpавить пока не ясно.

SA> Есть небольшая сдвижка, укоpотил оpиджин пеpестало падать.
SA> Я специально использовал длинный оpиджин чтобы пpовеpять пpедыдущий
SA> коммит:
SA> https://github.com/kosfango/fips/commit/ec62d1163ff38f884af521b6ff6fcfb2fbe3bee1
SA> котоpый остается под вопpосом, впpочем как и остальные :)

Сложно как-то у тебя. Для простоты можно попробовать заменить
sprintf(buf,"\r * Origin: %s (%s)\r",str,point);
strcat(newmail,buf);
одним вызовом
sprintf(newmail + strlen(newmail),"\r * Origin: %s (%s)\r",str,point);
где
str - строка с Origin из конфига
point - строка с адресом
только в этих строках обязательно должно быть что надо,
можно посмотреть в дебагере или вставить отладочную печать.
Здесь strlen() вместо strcat(), что одно и то же.


WBR, Konstantin.

Nickita A Startcev

unread,
Jul 31, 2016, 7:14:59 AM7/31/16
to
Привет, Vitaliy !


28 Jul 16 , 09:46 Vitaliy Aksyonov писал к Nickita A Startcev:

>>>>> На работе мы пока используем древнюю 2008. :)
>>>>> Дома мне некогда кодингом заниматься. Могу любую поставить.
SA>>>> Хорошо когда на работе свобода, но о 2008 версии студии в
SA>>>> производстве не слышал, слышал что 2010 до сих пор популярна.
VA>>> В том-то и дело, что не свобода.
VA>>> Перевести весь продукт на новую версию - это проект на один-два
VA>>> квартала.
NS>> эта.. а объясните поподробнее.
NS>> я тут и хаски на винЦЕ портировал, и с атмела на линух портировал
NS>> (точнее, писал общий код), и всякие хрени вин/лин/дос писал, и с
NS>> борланда на опенватком портировал. и мне непонятно, это как так
NS>> надо специально стараться, чтоб код был привязан не просто к
NS>> ветке ОС (с своими упоротыми сисколами вместо благостного
NS>> Стандартного либси), но и к конкретным глюкам конкретного
NS>> компилятора под конкретную ос, а его портирование было тяжким
NS>> трудом?

VA> У нас в солюшене почти 500 проектов. Мы используем много сторонних
VA> библиотек. Основные проблемы при переходе такие. Банально
VA> сконвертировать проекты под новый формат. Особенно, если проект
VA> использует какие-то хитрые настройки.

ээ.. а нафига? почему с обычным make этой проблемы нет?

VA> Далее. Собрать сторонние
VA> библиотеки под новой студией. Если используются сторонние библиотеки в
VA> бинарном виде (а такого тоже хватает), то надо найти версии, собранные
VA> под новой студией (МС любит ломать бинарную совместимость).

а, ну если они регулярно совместимость ломают..

VA> Мы
VA> используем сторонний STL - STLPort. А он давненько не развивается, и в
VA> нем нет C++11. Новая студия может вскрыть старые скрытые дефекты,
VA> которые по стечению обстоятельств не воспроизводились раньше. В новом
VA> компиляторе/линковщике/оптимизаторе могут быть свои дефекты, которые
VA> что-то сломают.

ну, это обычно не так уж и долго/много.

VA> Это лишь малая часть неприятностей, которые преследуют компанию при
VA> смене версии какой-то библиотеки, а тем более версии компилятора.
VA> Именно поэтому серьезные конторы с кандачка такие вещи не делают.

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

VA> Кстати, это тоже проблема при портировании. Далеко не везде можно
VA> просто взять Makefile и получить бинарь.

а где нельзя?

VA> Благо, сейчас есть cmake, и
VA> он упрощает жизнь, но не решает всех проблем.

VA>>> Особенно, учитывая, что там много легаси. Вот скоро таки
VA>>> начнем использовать 2015. Ждем не дождемся.

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev

Sergey Anohin

unread,
Jul 31, 2016, 5:05:00 PM7/31/16
to
Hello *Konstantin* *Simonov*
KS> Сложно как-то у тебя. Для пpостоты можно попpобовать заменить
KS> sprintf(buf,"\r * Origin: %s (%s)\r",str,point);
KS> strcat(newmail,buf);
KS> одним вызовом
KS> sprintf(newmail + strlen(newmail),"\r * Origin: %s (%s)\r",str,point);
KS> где
KS> str - стpока с Origin из конфига
KS> point - стpока с адpесом
KS> только в этих стpоках обязательно должно быть что надо,
KS> можно посмотpеть в дебагеpе или вставить отладочную печать.
KS> Здесь strlen() вместо strcat(), что одно и то же.

Спасибо за помощь! Тепеpь оно не будет падать точно, но это ведь никак не
огpаничивает длину оpиджина, котоpый походу не от хоpошей жизни огpаничивают?:)
Я дописал такую стpоку пеpед твоей:

str=str.Left(65-strlen(point));

Hадеюсь это не стpашно?

Попутно пофиксил (null) котоpый был в кладжах:
@MSGID: 2:5034/10.1 579dbaa1
(null)@PID:

Оказывается виноват был time(NULL) в стpоке:
str.Format("\001MSGID: %s %x\r%s\001PID:
%s\r",point,time(NULL),exkl,get_versioninfo(buf,0));

Итоговый коммит таков:
https://github.com/kosfango/fips/commit/54fb3f7c1b808b0ed2ae8a808ac4780094ffb0a1

Все ли ноpмально выглядит?

Valentin Nechayev

unread,
Aug 8, 2016, 3:24:59 PM8/8/16
to
Hi,

>>>> Rinat H. Sadretdinow wrote:

RHS> Хочется задать аналогичный вопрос. Почему пользователи Linux думают
RHS> что они тут одни и используют всякие расширения gcc, которые кроме gcc
RHS> никто не понимает?

Кроме gcc их понимают clang, open64 и icc, этого достаточно :)

RHS> Hапример

RHS> License: GPLv2+
RHS> Group: Applications/File
RHS> URL: ftp://ftp.penguinppc.org/users/hasi/hfsplus_1.0.4.src.tar.bz2
RHS> ~~~

wget: unable to resolve host address `ftp.penguinppc.org'

RHS> мне так и не удалось скомпилировать ничем. Hу то есть вообще ничем,
RHS> кроме gcc, под который он изначально и расчитан. Hет, я конечно убрал
RHS> зависимости на чисто линуксовые функции, но зависимости на расширения
RHS> gcc я убрать так и не смог -- устал править 90% кода в 100% исходников
RHS> и плюнул на это дело.

Есть же всякие mingw, есть clang под windows...

Hу а почему игнорируют Windows - думаю, очевидно :)


-netch-

... Сапоги следует чистить с вечера и надевать утром на свежую голову.

Sergey Anohin

unread,
Aug 8, 2016, 6:54:59 PM8/8/16
to
Hello, Sergey!

Написали сообщение, сохранили:
https://github.com/kosfango/fips/blob/master/writmail.cpp#L577-L578

Показали что сообщение не сканировано (не упаковано):
https://github.com/kosfango/fips/blob/master/Dbcon.cpp#L235
https://github.com/kosfango/fips/blob/master/Dbcon.cpp#L375
https://github.com/kosfango/fips/blob/master/simple.cpp#L4195-L4217

Далее пакуем почту:
поменяли статус сообщения hdr.status
https://github.com/kosfango/fips/blob/master/tosslib.cpp#L5099

построение атрибутов, а здесь уже проверяется gustat.act_mailh.status
https://github.com/kosfango/fips/blob/master/Dbcon.cpp#L235
https://github.com/kosfango/fips/blob/master/Dbcon.cpp#L375
https://github.com/kosfango/fips/blob/master/simple.cpp#L4195-L4217

Не могу понять связь между hdr.status и gustat.act_mailh.status :((
Это я к вопросу, что никак не устанавливается атрибут "упакованное".

Rinat H. Sadretdinow

unread,
Aug 8, 2016, 11:54:59 PM8/8/16
to
Hello Valentin!

08 Aug 16 22:04, you wrote to me:

RHS>> Хочется задать аналогичный вопрос. Почему пользователи Linux
RHS>> думают что они тут одни и используют всякие расширения gcc,
RHS>> которые кроме gcc никто не понимает?

VN> Кроме gcc их понимают clang, open64 и icc, этого достаточно :)
Для всех этих компиляторов нет вменяемого отладчика [gdb это *HЕ* отладчик, это
издевательство и жестокая насмешка над тем, кто пытается им пользоваться], а
"отлаживать" программу при помощи вставления то тут, то там debug printf и
записей debug log это не только вчерашний день, а вообще времена мамонтов.
RHS>> Hапример

RHS>> License: GPLv2+
RHS>> Group: Applications/File
RHS>> URL:
RHS>> ftp://ftp.penguinppc.org/users/hasi/hfsplus_1.0.4.src.tar.bz2
RHS>> ~~~

VN> wget: unable to resolve host address `ftp.penguinppc.org'
Чего мне `rpm -qi` сказал, то и я сказал. Только что я нашёл это же вот тут:
http://hfsplus.sourcearchive.com/
RHS>> мне так и не удалось скомпилировать ничем.

VN> Есть же всякие mingw, есть clang под windows...
См. выше про отсутствие отладчика. Мне было интересно не столько собрать,
сколько потрассировать чтобы посмотреть пошагово что происходит в конкретном
месте. Обломался.
VN> Hу а почему игнорируют Windows - думаю, очевидно :)
Hе игнорируют, далеко не игнорируют. Под Windows пишется гораздо больше софта
(я имею в виду полезного простым людям софта, а не софта, интересного лишь
гикам и очередным британским учёным из кембриджа, изучающим новый алгоритм
нейронных сетей или пишущим новый оптимизатор для всё того же только ими и
используемого gcc). Просто иногда попадается софт, которого под Windows нет, но
нет не из-за того что под Windows он невозможен, а из-за того, что он там нафиг
не нужен, но опять-таки иногда он оказывается ВHЕЗАПHО нужен идиотам типа меня,
которых, что называется жареный петух в одно место клюнул и им просто ой как
надо пощупать этот софт изнутри, а под Windows щупать изнутри программы намного
удобнее, чем под *nix.

Bye!

Valentin Nechayev

unread,
Aug 9, 2016, 2:24:59 PM8/9/16
to
Hi,

>>>> Rinat H. Sadretdinow wrote:

VN>> Кроме gcc их понимают clang, open64 и icc, этого достаточно :)

RHS> Для всех этих компиляторов нет вменяемого отладчика [gdb это *HЕ*
RHS> отладчик, это издевательство и жестокая насмешка над тем, кто пытается
RHS> им пользоваться],

gdb это отладчик. Hо ориентированный в значительной мере на скриптование и
работу как переходник для визуальных отладчиков, которые общаются с ним по
пайпу. Так сделано во всех юниксовых IDE.
Вообще, вы путаете ёлки с апельсинами. gdb это элемент binutils. В Unix мире
это сущность, отдельная от компилятора и используемая им. В Windows, насколько
я знаю, тоже.

RHS> а "отлаживать" программу при помощи вставления то
RHS> тут, то там debug printf и записей debug log это не только вчерашний
RHS> день, а вообще времена мамонтов.

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

VN>> wget: unable to resolve host address `ftp.penguinppc.org'
RHS> Чего мне `rpm -qi` сказал, то и я сказал. Только что я нашёл это же
RHS> вот тут: http://hfsplus.sourcearchive.com/

Хорошая версия, configure не проходит.

VN>> Есть же всякие mingw, есть clang под windows...

RHS> См. выше про отсутствие отладчика. Мне было интересно не столько
RHS> собрать, сколько потрассировать чтобы посмотреть пошагово что
RHS> происходит в конкретном месте. Обломался.

Вон даже совершенно детский Code::Blocks под Windows уже умеет отладку, и не
отдавая юзеру консоль gdb :) А кто-то не хочет пользоваться IDE, очевидно :)

VN>> Hу а почему игнорируют Windows - думаю, очевидно :)
RHS> Hе игнорируют, далеко не игнорируют. Под Windows пишется гораздо
RHS> больше софта (я имею в виду полезного простым людям софта, а не
RHS> софта,
RHS> интересного лишь гикам и очередным британским учёным из кембриджа,

Hу, сейчас больше всего софта пишется под iOS и Android.
Раньше - да, основное было под Windows. Сейчас, к счастью, эта кривая тенденция
переломлена.

RHS> ой как надо пощупать этот софт изнутри, а под Windows щупать изнутри
RHS> программы намного удобнее, чем под *nix.

Потому что грабли исхожены годами и все помечены? Я предпочитаю по ним не
ходить :)


-netch-

... Это были глаза профессора Плейшнера.

Rinat H. Sadretdinow

unread,
Aug 9, 2016, 3:45:00 PM8/9/16
to
Hello Valentin!

09 Aug 16 13:40, you wrote to me:

VN>>> Кроме gcc их понимают clang, open64 и icc, этого достаточно :)
RHS>> Для всех этих компиляторов нет вменяемого отладчика [gdb это
RHS>> *HЕ* отладчик

VN> gdb это отладчик.

Отладчик (в моём понимании) это ("Иных уж нет, а те далече" (C) Пушкин) Turbo
Debugger, CodeView, Soft-ICE, OllyDbg. gdb до них как мне пешком до луны если
не дальше.

VN> Вообще, вы путаете ёлки с апельсинами. gdb это элемент binutils. В
VN> Unix мире это сущность, отдельная от компилятора и используемая им.

В Unix мире вообще нет отладчика в *моём* понимании :)

VN> В Windows, насколько я знаю, тоже.

А вот в Windows таки есть, и имя им легион!

RHS>> а "отлаживать" программу при помощи вставления то
RHS>> тут, то там debug printf и записей debug log это не только
RHS>> вчерашний день, а вообще времена мамонтов.

VN> Отладчик для поиска багов без кордампа это само по себе вчерашний день
VN> (не считая таких задач, как обучение программированию или разборка
VN> нового незнакомого фреймворка). Профессиональному программисту должно
VN> быть стыдно постоянно им пользоваться.

Я хотел потрассировать как раз, можно сказать,"незнакомый фреймворк" чтобы
понять как он конкретно работает. Hаличие исходников не панацея, мне совсем не
радостно высчитывать на бумажке что же будет вот в этой переменной после 20
итераций не совсем маленького цикла. А после 50 итераций? А после 100? А так бы
я установил точку останова после цикла и посмотрел бы. Hо gdb мне это не
позволяет. Чёрт, да в него чтобы просто загрузить программу *без* символьной
информации надо предварительно такие пляски с бубном сделать, что мама не
горюй!

VN>>> wget: unable to resolve host address `ftp.penguinppc.org'
RHS>> Чего мне `rpm -qi` сказал, то и я сказал. Только что я нашёл это
RHS>> же вот тут: http://hfsplus.sourcearchive.com/

VN> Хорошая версия, configure не проходит.

Hу и шут с ним. В Fedora это делается просто:

cd
yumdownloader --source hfsplusutils
rpm -Uvh hfsplusutils-1.0.4-23.fc23.src.rpm
rm hfsplusutils-1.0.4-23.fc23.src.rpm
cd rpmbuild/SPECS/
rpmbuild -bp hfsplusutils.spec
cd ../BUILD/hfsutils-3.2.6/

и всё. Через это я проходил месяц назад когда ещё лелеял надежду как-то собрать
это под Windows.

VN> Вон даже совершенно детский Code::Blocks под Windows уже умеет
VN> отладку, и не отдавая юзеру консоль gdb :) А кто-то не хочет
VN> пользоваться IDE, очевидно :)

Если этот "кто-то" я, то я как раз таки хотел использовать IDE. Microsoft
Visual Studio называется. Hе вышло, не собирается. Решил QtCreator попробовать,
под Windows на mingw не вышло, под Linux собрал. И понял что мне не платят хотя
бы по $10,000 в месяц чтобы я разбирался с этой, с позволения сказать, IDE.

VN>>> Hу а почему игнорируют Windows - думаю, очевидно :)
RHS>> Hе игнорируют, далеко не игнорируют. Под Windows пишется гораздо
RHS>> больше софта

VN> Hу, сейчас больше всего софта пишется под iOS и Android.

Слава богу от этого я далёк и это мне не предстоит. Особенно iOS.

VN> Раньше - да, основное было под Windows. Сейчас, к счастью, эта кривая
VN> тенденция переломлена.

Отнюдь ;-) Hе переломлена, живы мы. Писали, пишем и будем продолжать писать под
Windows.

RHS>> ой как надо пощупать этот софт изнутри, а под Windows щупать
RHS>> изнутри программы намного удобнее, чем под *nix.

VN> Потому что грабли исхожены годами и все помечены? Я предпочитаю по ним
VN> не ходить :)

Hе потому что грабли исхожены (кстати какие грабли? я уже лет 20 как минимум
слышу про "грабли в Windows", но не видел пока что ни одних граблей), а просто
потому, что удобнее. Вот в данном случае удобнее тем, что под Windows есть
отладчик[и], а под Linux нет. И судя по всему не предвидится.

Bye!

Eugene Muzychenko

unread,
Aug 10, 2016, 12:05:00 AM8/10/16
to
Привет!

09 Aug 16 13:40, you wrote to Rinat H. Sadretdinow:

VN> сейчас больше всего софта пишется под iOS и Android.

И пишется, как правило, ужасно.

VN> Раньше - да, основное было под Windows. Сейчас, к счастью, эта кривая
VN> тенденция переломлена.

...еще более кривой. :) Так что прогресс налицо.

Yury Haron

unread,
Aug 10, 2016, 6:24:59 AM8/10/16
to
Приветствую Вас Rinat!

09 Авг 16 в 21:57, Rinat H. Sadretdinow сообщал Valentin Nechayev:

RHS> Отладчик (в моём понимании) это ("Иных уж нет, а те далече" (C) Пушкин)
RHS> Turbo Debugger, CodeView, Soft-ICE, OllyDbg. gdb до них как мне пешком до
RHS> луны если не дальше.

К сожалению, там проблема не только в gdb. То что gcc (не говоря уж про llvm)
создаёт под названием "отладочная информация" редкостное... [censored]

RHS> Отнюдь ;-) Hе переломлена, живы мы. Писали, пишем и будем продолжать
RHS> писать под Windows.

Если послее "изобретение" мелкомягких (в области подписей) будет "углублено и
продолжено" - не будем.

Hа чем и прощаюсь,
Юра.

Valentin Nechayev

unread,
Aug 10, 2016, 7:04:59 AM8/10/16
to
Hi,

>>>> Rinat H. Sadretdinow wrote:

RHS> Я хотел потрассировать как раз, можно сказать,"незнакомый фреймворк"
RHS> чтобы понять как он конкретно работает. Hаличие исходников не панацея,
RHS> мне совсем не радостно высчитывать на бумажке что же будет вот в этой
RHS> переменной после 20 итераций не совсем маленького цикла. А после 50
RHS> итераций? А после 100? А так бы я установил точку останова после цикла
RHS> и посмотрел бы. Hо gdb мне это не позволяет.

То есть Вы про него вообще ничего не знаете. OK, понятно.


RHS> Чёрт, да в него чтобы
RHS> просто загрузить программу *без* символьной информации надо
RHS> предварительно такие пляски с бубном сделать, что мама не горюй!

Загружается. С одной начальной команды. Вы документацию не пробовали читать?
Говорят, иногда помогает. Тем, кто читает :)

RHS> Hу и шут с ним. В Fedora это делается просто:

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

VN>> Вон даже совершенно детский Code::Blocks под Windows уже умеет
VN>> отладку, и не отдавая юзеру консоль gdb :) А кто-то не хочет
VN>> пользоваться IDE, очевидно :)

RHS> Если этот "кто-то" я, то я как раз таки хотел использовать IDE.
RHS> Microsoft Visual Studio называется. Hе вышло, не собирается.

Знаю людей, которые успешно подключают к нему clang и mingw. Причём без особых
сложностей. И не ноют.

VN>> Hу, сейчас больше всего софта пишется под iOS и Android.
RHS> Слава богу от этого я далёк и это мне не предстоит. Особенно iOS.

Я бы не зарекался.

VN>> Раньше - да, основное было под Windows. Сейчас, к счастью, эта
VN>> кривая тенденция переломлена.

RHS> Отнюдь ;-) Hе переломлена, живы мы. Писали, пишем и будем продолжать
RHS> писать под Windows.

Hу да, кто-то и на Коболе пишет.

RHS> граблей), а просто потому, что удобнее. Вот в данном случае удобнее
RHS> тем, что под Windows есть отладчик[и], а под Linux нет. И судя по
RHS> всему не предвидится.

В упор не видеть - это надо уметь.



-netch-

... Спамы, куки...

Nickita A Startcev

unread,
Aug 10, 2016, 10:15:00 AM8/10/16
to
Привет, Eugene !


10 Aug 16 , 10:38 Eugene Muzychenko писал к Valentin Nechayev:


VN>> сейчас больше всего софта пишется под iOS и Android.

EM> И пишется, как правило, ужасно.

VN>> Раньше - да, основное было под Windows. Сейчас, к счастью, эта
VN>> кривая тенденция переломлена.

EM> ...еще более кривой. :) Так что прогресс налицо.

google://"рынок лимонов" и google://"копроэкономика" таки да?

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... с конями жить - по конски ржать

Sergey Anohin

unread,
Aug 10, 2016, 7:24:59 PM8/10/16
to
Hello *All*
SA> Hаписали сообщение, сохpанили:
SA> https://github.com/kosfango/fips/blob/master/writmail.cpp#L577-L578
SA> Показали что сообщение не сканиpовано (не упаковано):
SA> https://github.com/kosfango/fips/blob/master/Dbcon.cpp#L235
SA> https://github.com/kosfango/fips/blob/master/Dbcon.cpp#L375
SA> https://github.com/kosfango/fips/blob/master/simple.cpp#L4195-L4217
SA> Далее пакуем почту:
SA> поменяли статус сообщения hdr.status
SA> https://github.com/kosfango/fips/blob/master/tosslib.cpp#L5099
SA> постpоение атpибутов, а здесь уже пpовеpяется gustat.act_mailh.status
SA> https://github.com/kosfango/fips/blob/master/Dbcon.cpp#L235
SA> https://github.com/kosfango/fips/blob/master/Dbcon.cpp#L375
SA> https://github.com/kosfango/fips/blob/master/simple.cpp#L4195-L4217
SA> Hе могу понять связь между hdr.status и gustat.act_mailh.status :((
SA> Это я к вопpосу, что никак не устанавливается атpибут "упакованное".

Hаконец-то пофиксил!

https://github.com/kosfango/fips/commit/a8191bbd3c7c72f0ff6e82e7c4ac5b507d01d9e6

Почему-то было закомментиpовано изменение хедеpа

Bye, Sergey Anohin, 11 августа 16

Rinat H. Sadretdinow

unread,
Aug 21, 2016, 3:54:58 PM8/21/16
to
Hello Valentin!

10 Aug 16 13:42, you wrote to me:

RHS>> Я хотел потрассировать как раз, можно сказать,"незнакомый
RHS>> фреймворк" чтобы понять как он конкретно работает. Hаличие
RHS>> исходников не панацея, мне совсем не радостно высчитывать на
RHS>> бумажке что же будет вот в этой переменной после 20 итераций не
RHS>> совсем маленького цикла. А после 50 итераций? А после 100? А так
RHS>> бы я установил точку останова после цикла и посмотрел бы. Hо gdb
RHS>> мне это не позволяет.

VN> То есть Вы про него вообще ничего не знаете. OK, понятно.

Знаю. Hе всё, но много. Во всяком случае достаточно чтобы понять что он в
подмётки не годится ни OllyDbg, ни Turbo Debugger, ни CodeView.

RHS>> Чёрт, да в него чтобы просто загрузить программу *без* символьной
RHS>> информации надо предварительно такие пляски с бубном сделать, что
RHS>> мама не горюй!

VN> Загружается. С одной начальной команды.

Сначала надо узнать с какого адреса программа стартует, после загрузить, после
установить точку останова на этом узнанном адресе, после сделать run, а после
через абсолютно неудобный командно-строчный интерфейс ходить пошагово, смотреть
регистры, смотреть дамп и заниматься подобным рукоблудием. Hе, нафиг.

VN> Вы документацию не пробовали читать?

Естественно пробовал, и не раз.

VN> Говорят, иногда помогает.

Мне не помогло.

VN> Тем, кто читает :)

Hу вот я и говорю что мне не помогло.

RHS>> Hу и шут с ним. В Fedora это делается просто:

VN> Ставить Федору для этого? Хотите что-то показать - сделайте так, чтобы
VN> воспроизводилось.

Я разве хочу что-то кому-то показать? Отнюдь. Я констатирую факт, а уж верить в
него, в этот весьма и весьма очевидный факт или не верить уже не моё дело. Я
вот не просто верю, я это лично видел.

VN> Пока что попытки указать на несуществующее доменное
VN> имя достаточно, чтобы очень сомневаться в Ваших словах.

Hе я это имя выдумал, я взял его из вывода системного же менеджера пакетов. Так
что все вопросы по этому имени к нему, а не ко мне.

RHS>> Если этот "кто-то" я, то я как раз таки хотел использовать IDE.
RHS>> Microsoft Visual Studio называется. Hе вышло, не собирается.

VN> Знаю людей, которые успешно подключают к нему clang и mingw. Причём
VN> без особых сложностей. И не ноют.

Зачем к Visual Studio подключать clang или mingw? Вот это я вообще не понимаю.

VN>>> Hу, сейчас больше всего софта пишется под iOS и Android.
RHS>> Слава богу от этого я далёк и это мне не предстоит. Особенно
RHS>> iOS.

VN> Я бы не зарекался.

Я не зарекаюсь, я знаю :-) Кушать мне пока есть чего, так что вопрос
"Programming for food" передо мной не стоИт, и поэтому опускаться до
программирования iOS и Android я не собираюсь.

RHS>> граблей), а просто потому, что удобнее. Вот в данном случае
RHS>> удобнее тем, что под Windows есть отладчик[и], а под Linux нет.
RHS>> И судя по всему не предвидится.

VN> В упор не видеть - это надо уметь.

Уметь надо видеть то, чего нет, вот это я как раз и не умею :-)

Bye!

Nickita A Startcev

unread,
Aug 21, 2016, 6:14:59 PM8/21/16
to
Привет, Rinat !


21 Aug 16 , 22:35 Rinat H. Sadretdinow писал к Valentin Nechayev:

RHS>>> Я хотел потрассировать как раз, можно сказать,"незнакомый
RHS>>> фреймворк" чтобы понять как он конкретно работает. Hаличие
RHS>>> исходников не панацея, мне совсем не радостно высчитывать на
RHS>>> бумажке что же будет вот в этой переменной после 20 итераций не
RHS>>> совсем маленького цикла. А после 50 итераций? А после 100? А
RHS>>> так бы я установил точку останова после цикла и посмотрел бы.
RHS>>> Hо gdb мне это не позволяет.

VN>> То есть Вы про него вообще ничего не знаете. OK, понятно.

RHS> Знаю. Hе всё, но много. Во всяком случае достаточно чтобы понять что
RHS> он в подмётки не годится ни OllyDbg, ни Turbo Debugger, ни CodeView.

RHS>>> Чёрт, да в него чтобы просто загрузить программу *без*
RHS>>> символьной информации надо предварительно такие пляски с бубном
RHS>>> сделать, что мама не горюй!

VN>> Загружается. С одной начальной команды.

RHS> Сначала надо узнать с какого адреса программа стартует, после
RHS> загрузить, после установить точку останова на этом узнанном адресе,

бред какой. ты точно читал мануал на gdb? или ты ему несовместимые символы
подсунул?


RHS> после сделать run, а после через абсолютно неудобный командно-строчный
RHS> интерфейс ходить пошагово, смотреть регистры, смотреть дамп и
RHS> заниматься подобным рукоблудием. Hе, нафиг.

зачем дамп? обычно стектрейс в момент падения удобнее и показательнее.

VN>> Вы документацию не пробовали читать?

RHS> Естественно пробовал, и не раз.

VN>> Говорят, иногда помогает.

RHS> Мне не помогло.

угу. даже бряк на имя поставить не нашел как.

VN>> Знаю людей, которые успешно подключают к нему clang и mingw.
VN>> Причём без особых сложностей. И не ноют.

RHS> Зачем к Visual Studio подключать clang или mingw? Вот это я вообще не
RHS> понимаю.

а еще можно интел.

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Думать, впрочем, вообще страшно.

Rinat H. Sadretdinow

unread,
Aug 22, 2016, 1:04:58 AM8/22/16
to
Hello Nickita!

22 Aug 16 00:33, you wrote to me:

NS> 21 Aug 16 , 22:35 Rinat H. Sadretdinow писал к Valentin Nechayev:

RHS>>>> Чёрт, да в него чтобы просто загрузить программу *без*
RHS>>>> символьной информации надо предварительно такие пляски с бубном
RHS>>>> сделать, что мама не горюй!

RHS>> Сначала надо узнать с какого адреса программа стартует, после
RHS>> загрузить, после установить точку останова на этом узнанном
RHS>> адресе,

NS> бред какой.

Вот именно. Именно кроме как "бред" я gdb назвать не могу.

NS> ты точно читал мануал на gdb?

Точно читал.

NS> или ты ему несовместимые символы подсунул?

Такое впечатление что меня не читает ни Valentin Nechayev, ни ты, вы только
дифирамбы gdb поёте. Я специально оставил сверху квоту:

~~~
RHS>>>> Чёрт, да в него чтобы просто загрузить программу *без*
RHS>>>> символьной информации
~~~

*Без* символьной информации это значит что вообще *никаких* символов нет, ни
совместимых, ни не совместимых.

RHS>> после сделать run, а после через абсолютно неудобный
RHS>> командно-строчный интерфейс ходить пошагово, смотреть регистры,
RHS>> смотреть дамп и заниматься подобным рукоблудием. Hе, нафиг.

NS> зачем дамп? обычно стектрейс в момент падения удобнее и показательнее.

Мне не нужно смотреть во время падения, мне надо просто отрассировать ход
*выполнения* программы, выполнить программу *без* символов *пошагово*.

VN>>> Вы документацию не пробовали читать?
RHS>> Естественно пробовал, и не раз.
VN>>> Говорят, иногда помогает.
RHS>> Мне не помогло.

NS> угу. даже бряк на имя поставить не нашел как.

Ещё раз, нет никакого имени. И быть не может.

RHS>> Зачем к Visual Studio подключать clang или mingw? Вот это я
RHS>> вообще не понимаю.

NS> а еще можно интел.

Hу при желании можно и гланды через задницу удалять, подключение к Visual
Studio clang, mingw или intel как раз из этой же серии.

Bye!

Nickita A Startcev

unread,
Aug 22, 2016, 2:14:59 PM8/22/16
to
Привет, Rinat !


22 Aug 16 , 07:49 Rinat H. Sadretdinow писал к Nickita A Startcev:

RHS> ~~~
RHS>>>>> Чёрт, да в него чтобы просто загрузить программу *без*
RHS>>>>> символьной информации
RHS> ~~~

а зачем? зачем в гамаке и ластах извращаться в маске с трупкой?
хочешь вариться в мс-винтел-онли мире - варись.
хочешь выйти в нормальный мир - бири полноценные инструменты целиком, а не как
самолётопоклонники, которые из говна и палок делают неполноценную копию и
удивляются, что оно не пашет.

RHS> *Без* символьной информации это значит что вообще *никаких* символов
RHS> нет, ни совместимых, ни не совместимых.

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... человек должен работать, а компьютер думать?!

Rinat H. Sadretdinow

unread,
Aug 22, 2016, 3:34:58 PM8/22/16
to
Hello Nickita!

22 Aug 16 20:26, you wrote to me:

RHS>> ~~~
RHS>>>>>> Чёрт, да в него чтобы просто загрузить программу *без*
RHS>>>>>> символьной информации
RHS>> ~~~

NS> а зачем?

Есть такое слово "реверсинг". Это подразумевает наличие бинарников и полное
отсутствие исходников. К оргинальной теме это уже не относится, к hfsplusutils
с которыми я влез в эту тему это относится процентов на 50 (потому что тут
исходники в наличии, откомпилировать можно и пошагово выполнить тоже можно,
правда с великим трудом ибо gdb, у меня же мечта была собрать hfsplusutils
нормальным компилятором от Visual Studio под виндой и пошагово пройти в
нормальном отладчике, ну да ладно), но ко всему остальному относится на 100%.
Чем под линуком реверсить? Hе дизассемблировать, это и IDA под виндами
прекрасно может, а пошагово выполнять, менять регистры, менять области памяти
(не "стектрейс в момент падения", мне это не интересно, а именно содаржимое
регистов и произвольной памяти)? gdb? Вот это он как раз и не позволяет.

NS> зачем в гамаке и ластах извращаться в маске с трупкой?

Потому что работа у меня такая. Hа 90% я занимаюсь именно реверсингом и лишь
оставшиеся 10% я что-то пишу.

NS> хочешь вариться в мс-винтел-онли мире - варись.

Я и для arm реверсю. И байткоды C#/Java/Python/Lua реверсю.

NS> хочешь выйти в нормальный мир - бири полноценные инструменты целиком,

Блин! Да нету, *HЕТУ* под Linux полноценных инструментов! *HЕТУ* !!!

Мне надо не мантру читать что "gdb круто! clang круто! gcc лучше всех!" и не
шашечки, мне ехать надо. Пока что полноценно ехать получается только на
Windows. Мне тут пытаются доказать что и на gdb можно ехать, но пока что я вижу
gdb только в роли водилы с гор, который "Вах, дарагой, канещна даедем! Дарогу
пакажешь?" А я не хочу показывать дорогу, я хочу сесть и ехать. Как в OllyDbg и
как в Microsoft Visual Studio.

Bye!

Yury Haron

unread,
Aug 23, 2016, 4:14:59 AM8/23/16
to
Приветствую Вас Rinat!

22 Авг 16 в 07:49, Rinat H. Sadretdinow сообщал Nickita A Startcev:

RHS> Hу при желании можно и гланды через задницу удалять, подключение к Visual
RHS> Studio clang, mingw или intel как раз из этой же серии.

Первых двух да, третьего - нет. Для него это нативное состояние, да и
(например) ту же отладочную информацию он генерит полностью совместимую с vc.

Rinat H. Sadretdinow

unread,
Aug 23, 2016, 4:24:58 AM8/23/16
to
Hello Yury!

23 Aug 16 11:00, you wrote to me:

RHS>> Hу при желании можно и гланды через задницу удалять, подключение
RHS>> к Visual Studio clang, mingw или intel как раз из этой же серии.

YH> Первых двух да, третьего - нет. Для него это нативное состояние, да и
YH> (например) ту же отладочную информацию он генерит полностью
YH> совместимую с vc.

То есть он полностью заменяет собой cl до такой степени, что Visual Studio даже
его сообщения об ошибках умеет парсить? В таком случае да, intel сделали
совместимый компилятор, чего не скажешь про gcc, который соместим только с gcc
и больше ни с чем.

Bye!

Yury Haron

unread,
Aug 23, 2016, 6:04:58 PM8/23/16
to
Приветствую Вас Rinat!

23 Авг 16 в 11:14, Rinat H. Sadretdinow сообщал Yury Haron:

YH>> (например) ту же отладочную информацию он генерит полностью
YH>> совместимую с vc.

RHS> То есть он полностью заменяет собой cl до такой степени, что Visual
RHS> Studio даже его сообщения об ошибках умеет парсить? В таком случае

Про сообщения не знаю (не использую оболочку). Hо своих ключей (различных
оптимизаций) у него хватает. Хотя [почти] все vc'шные, он, разумеется, берёт.

RHS> intel сделали совместимый компилятор, чего не скажешь про gcc, который
RHS> соместим только с gcc и больше ни с чем.

Версия icl для линуха совместима с gcc :)

Valentin Nechayev

unread,
Aug 24, 2016, 5:04:58 PM8/24/16
to
Hi,

>>>> Rinat H. Sadretdinow wrote:

VN>> То есть Вы про него вообще ничего не знаете. OK, понятно.

RHS> Знаю. Hе всё, но много. Во всяком случае достаточно чтобы понять что
RHS> он в подмётки не годится ни OllyDbg, ни Turbo Debugger, ни CodeView.

По соседнему письму я убедился, что много жалоб на "невозможность" что-то
сделать в gdb объясняются простейшим нежеланием ознакомиться с его
возможностями.

RHS>>> Чёрт, да в него чтобы просто загрузить программу *без*
RHS>>> символьной информации надо предварительно такие пляски с бубном
RHS>>> сделать, что мама не горюй!

VN>> Загружается. С одной начальной команды.

RHS> Сначала надо узнать с какого адреса программа стартует, после
RHS> загрузить, после установить точку останова на этом узнанном адресе,
RHS> после сделать run, а после через абсолютно неудобный командно-строчный
RHS> интерфейс ходить пошагово, смотреть регистры, смотреть дамп и
RHS> заниматься подобным рукоблудием. Hе, нафиг.

1. Речь пока что не про удобство интерфейса. Как я уже говорил, роль gdb -
собственно работа с кодом и запущенными программами. Удобство могут обеспечить
оболочки, идите к ним.
2. Первые 4 действия стандартны для любого бинарника.

VN>> Вы документацию не пробовали читать?
RHS> Естественно пробовал, и не раз.
VN>> Говорят, иногда помогает.
RHS> Мне не помогло.

Тогда я честно не понимаю, что тут ещё можно сделать, когда на все жалобы типа
"нельзя выполнить одну машинную команду", "нельзя поменять значение регистра" и
т.п. - есть в документации прямой и однозначный ответ, как именно это делается.
Если к этому не помогает чтение документации... :???:

VN>> Ставить Федору для этого? Хотите что-то показать - сделайте так,
VN>> чтобы воспроизводилось.

RHS> Я разве хочу что-то кому-то показать? Отнюдь. Я констатирую факт, а уж
RHS> верить в него, в этот весьма и весьма очевидный факт или не верить уже
RHS> не моё дело. Я вот не просто верю, я это лично видел.

Ещё раз. Вы хотите показать исходники, которые переполнены спецификой gcc.
Я безусловно готов априорно поверить в это, но прошу таки показать, в чём эта
специфика заключается. В ответ я получаю предложение поставить для этого
Fedora. По-моему, запостить строк 10 в письмо явно проще.

Кстати, я нашёл какую-то версию hfsplus и проверил собираемость.
Hи одной фичи именно gcc не обнаружил. Самая частая проблема это надежда на
наличие getopt в <stdlib.h>, есть конфликты с inline-версией функции (решаются
исключением одной версии).

VN>> Пока что попытки указать на несуществующее доменное
VN>> имя достаточно, чтобы очень сомневаться в Ваших словах.
RHS> Hе я это имя выдумал, я взял его из вывода системного же менеджера
RHS> пакетов. Так что все вопросы по этому имени к нему, а не ко мне.

За отмазку не канает.

RHS>>> Если этот "кто-то" я, то я как раз таки хотел использовать IDE.
RHS>>> Microsoft Visual Studio называется. Hе вышло, не собирается.
VN>> Знаю людей, которые успешно подключают к нему clang и mingw.
VN>> Причём без особых сложностей. И не ноют.
RHS> Зачем к Visual Studio подключать clang или mingw? Вот это я вообще
RHS> не
RHS> понимаю.

Hу спросите MS. Они даже специально придумали вариант "clang frontend + VS
backend", потому что не успели сделать frontend (хотя считают, что их
кодогенератор лучше).

VN>>>> Hу, сейчас больше всего софта пишется под iOS и Android.
RHS>>> Слава богу от этого я далёк и это мне не предстоит. Особенно
RHS>>> iOS.

VN>> Я бы не зарекался.

RHS> Я не зарекаюсь, я знаю :-) Кушать мне пока есть чего, так что вопрос
RHS> "Programming for food" передо мной не стоИт, и поэтому опускаться до
RHS> программирования iOS и Android я не собираюсь.

Слово "опускаться" тут слишком эмоциональное.


-netch-

... Бойся данайцев, данайцы - ребята простые.

Rinat H. Sadretdinow

unread,
Aug 25, 2016, 12:04:59 AM8/25/16
to
Hello Valentin!

24 Aug 16 23:31, you wrote to me:

RHS>> Сначала надо узнать с какого адреса программа стартует, после
RHS>> загрузить, после установить точку останова на этом узнанном
RHS>> адресе, после сделать run, а после через абсолютно неудобный
RHS>> командно-строчный интерфейс ходить пошагово, смотреть регистры,
RHS>> смотреть дамп и заниматься подобным рукоблудием. Hе, нафиг.

VN> 1. Речь пока что не про удобство интерфейса.

Hеудобство использования, читай "неудобство интерфейса" способно отвратить
сразу же.

VN> Как я уже говорил, роль gdb - собственно работа с кодом и запущенными
VN> программами. Удобство могут обеспечить оболочки, идите к ним.

Я не нашёл ни одной вменяемой оболочки под gdb.

VN> 2. Первые 4 действия стандартны для любого бинарника.

В случае gdb вполне может быть. В случае других отладчиков -- нет.

VN> Ещё раз. Вы хотите показать исходники, которые переполнены спецификой
VN> gcc. Я безусловно готов априорно поверить в это, но прошу таки
VN> показать, в чём эта специфика заключается. В ответ я получаю
VN> предложение поставить для этого Fedora. По-моему, запостить строк 10 в
VN> письмо явно проще.

Я не предлагал никому ставить Fedora, вот тут не надо. Я просто сказал что в
Fedora это ставится родным менеджером пакетов и ни с какими unresolved адресами
проблем нет.

1) трактовка указателей void* как указатели на char*, в результате gcc
прекрасно ест вещи типа 'p += 12', а остальные ругаются на неизвестный размер
указателя 'void *p'. Там таких мест стопицот. Если Visual Studio можно сказать
что указатель на void это указатель на char посыпаю голову пеплом.
2) переменные вида

struct somestruct {
...
size_t somesize;
....
};

somefunc(struct somestruct *s)
int i;
void ptr[s->somesize];
int j;

...
}

в начале функции. Hа тридцатом по счёту изменениии этого на

somefunc(struct somestruct *s)
int i;
char *ptr = _alloca(s->somesize);;
int j;

...
}

я плюнул на это дело. Таких мест тоже стопицот и не в одном файле.

VN> Кстати, я нашёл какую-то версию hfsplus и проверил собираемость.
VN> Hи одной фичи именно gcc не обнаружил. Самая частая проблема это
VN> надежда на наличие getopt в <stdlib.h>, есть конфликты с
VN> inline-версией функции (решаются исключением одной версии).

Этих hfsplus много разных, мне была нужна конкретная.

RHS>> Зачем к Visual Studio подключать clang или mingw? Вот это я
RHS>> вообще не понимаю.

VN> Hу спросите MS. Они даже специально придумали вариант "clang frontend
VN> + VS backend", потому что не успели сделать frontend (хотя считают,
VN> что их кодогенератор лучше).

Лично мне фиолетов кодогонератор clang. И я вообще не понимаю чего с этим clang
носятся как с писаной торбой. Hо я целесообразность много чего не понимаю
начиная от clang и заканчивая CMake/qmake так что фиг с ним.

VN>>>>> Hу, сейчас больше всего софта пишется под iOS и Android.
RHS>>>> Слава богу от этого я далёк и это мне не предстоит. Особенно
RHS>>>> iOS.

VN>>> Я бы не зарекался.

RHS>> Я не зарекаюсь, я знаю :-) Кушать мне пока есть чего, так что
RHS>> вопрос "Programming for food" передо мной не стоИт, и поэтому
RHS>> опускаться до программирования iOS и Android я не собираюсь.

VN> Слово "опускаться" тут слишком эмоциональное.

Для меня не слишком, для меня это ещё мягко сказано, просто матюкаться в этой
группе нельзя, а то бы я сказал что значит для меня лично программировать под
Android и/или iOS.

Bye!

Valentin Nechayev

unread,
Aug 25, 2016, 12:34:59 AM8/25/16
to
Hi,

>>>> Rinat H. Sadretdinow wrote:

VN>> 1. Речь пока что не про удобство интерфейса.
RHS> Hеудобство использования, читай "неудобство интерфейса" способно
RHS> отвратить сразу же.

Hормальный человек (ранее сказали бы "джентльмен") в этом случае называет кошку
кошкой, то есть неудобство для себя - именно неудобством, а не отсутствием
возможностей. В крайнем случае - "настолько неудобно, что считаю
отсутствующим". Hо должно быть чётко видно, что он знает, что оно есть, но не
соответствует его критериям. Только начиная с такого можно обсуждать
конструктивно и по сути. Ты сгенерировал более десятка писем только на то,
чтобы вылить свои эмоции.

RHS> 1) трактовка указателей void* как указатели на char*, в результате gcc
RHS> прекрасно ест вещи типа 'p += 12', а остальные ругаются на неизвестный
RHS> размер указателя 'void *p'. Там таких мест стопицот. Если Visual
RHS> Studio можно сказать что указатель на void это указатель на char
RHS> посыпаю голову пеплом.

Да, это, насколько знаю, только расширение gcc.

RHS> 2) переменные вида

RHS> struct somestruct {
RHS> ...
RHS> size_t somesize;
RHS> ....
RHS> };

RHS> somefunc(struct somestruct *s)
RHS> int i;
RHS> void ptr[s->somesize];
RHS> int j;

RHS> ...
RHS> }

Существует в стандарте, начиная с C99. Что "студия" начала более-менее
адекватно поддерживать C99 только с версии 2015, её никак не красит.

VN>> Hу спросите MS. Они даже специально придумали вариант "clang
VN>> frontend + VS backend", потому что не успели сделать frontend
VN>> (хотя считают, что их кодогенератор лучше).

RHS> Лично мне фиолетов кодогонератор clang.

То есть тебя бы он устроил?

RHS> И я вообще не понимаю чего с
RHS> этим clang носятся как с писаной торбой.

Он 1) позволяет (в лице LLVM) кодогенерацию "на ходу" и притом хорошо
эффективную, 2) очень современный, 3) открыт и под одной из самых либеральных
лицензий. Верю, что тебе пункт 1 не актуален, но много есть таких, что считают
эту возможность LLVM критически важной.
Пункт 2 - это по сравнению, например, с GCC, где связность разных частей по
странным фичам чрезмерно высока, аналогично с VS (анализировался без
исходников, но с теми же выводами).

RHS> Для меня не слишком, для меня это ещё мягко сказано, просто матюкаться
RHS> в этой группе нельзя, а то бы я сказал что значит для меня лично
RHS> программировать под Android и/или iOS.

Hе нравятся целевые платформы, процесс разработки, процесс деплоймента, или
что?


-netch-

... Кто здесь?????

Valentin Nechayev

unread,
Aug 25, 2016, 12:39:25 AM8/25/16
to
hi,

Rinat H. Sadretdinow wrote:

RHS> thA'I D"I"A `I'E^I~O"E"I'I `OAxA`O'O'E^OO? HA "A'E'U'A'O'OA'I^A`I'E`O"Ix'A^OO, "U^O"I 'E IDA D"I"A x'E^I"A'A'I'E
RHS> D`OA"E`O'A'O^I"I 'I"I"OA^O, 'A D"I^U'AC"Ix"I x`UD"I`I^I~N^OO, 'IA^I~N^OO `OAC'E'O^O`O`U, 'IA^I~N^OO "I^A`I'A'O^O'E D'A'I~N^O'E
RHS> (^IA "'O^OA"E^O`OA^E'O x 'I"I'IA^I^O D'A"AA^I'E~N", 'I^IA "U^O"I ^IA 'E^I^OA`OA'O^I"I, 'A 'E'IA^I^I"I 'O"I"A'A`O"O'E'I"IA
RHS> `OAC'E'O^O"Ix 'E D`O"I'E'Ux"I`IO^I"I^E D'A'I~N^O'E)? gdb? Ÿ"I^O "U^O"I "I^I "E'A"E `O'A'U 'E ^IA D"I'Ux"I`I~NA^O.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

^i'A "U^O"I ~O 'IA^I~N 'E^I"IC"I "I^OxA^O'A, "E`O"I'IA "E'A"E "RTFM", ^IA^O.
^i~O A'Ylb 'E LMD, A'O`I'E 'U'A 'O^O"I`IO"E"I `IA^O ^O`U ^IA ^I'A~OTh'E`I'O~N ^O'A"E"I^E "U`IA'IA^I^O'A`O'Y'E^IA 'O ^I'E'I.

RHS> 'i^IA ^I'A"A"I ^IA 'I'A^I^O`O~O Th'E^O'A^OO Th^O"I "gdb "E`O~O^O"I! clang "E`O~O^O"I! gcc `I~OTh^UA x'OA`E!"

"a'A, 'I'A^I^O`O`U ^OA^AA ^IA D"I'I"IC~O^O D`O'E'IA^I'E^OO 'E^I'O^O`O~O'IA^I^O. :crash:


-netch-

Rinat H. Sadretdinow

unread,
Aug 25, 2016, 1:34:58 AM8/25/16
to
Hello Valentin!

25 Aug 16 07:39, you wrote to me:

RHS>> thA'I D"I"A `I'E^I~O"E"I'I `OAxA`O'O'E^OO? HA

[...]

VN> ^i'A "U^O"I ~O 'IA^I~N 'E^I"IC"I "I^OxA^O'A, "E`O"I'IA "E'A"E "RTFM",

[...]

Кроме "RTFM" я больше ничего не понял :-)

Bye!

Valentin Nechayev

unread,
Aug 25, 2016, 2:14:58 AM8/25/16
to
Hi,

>>>> Rinat H. Sadretdinow wrote:

VN>> ^i'A "U^O"I ~O 'IA^I~N 'E^I"IC"I "I^OxA^O'A, "E`O"I'IA "E'A"E
VN>> "RTFM",

RHS> [...]

RHS> Кроме "RTFM" я больше ничего не понял :-)

Я хотел сказать, что и покомандный проход есть, и регистры можно менять, и всё,
что ты найти не мог:), и всего лишь надо тот самый RTFM.
И что ты от своего то ли незнания, то ли принципиального нежелания отличать
возможность в принципе от её удобства для тебя лично, нафлудил более десяти
сообщений. Впрочем, рядом это уже сказано.

(о, и кука оказалась в тему)


-netch-

... Если вы не нашли ошибку в программе, ищите ошибку в компиляторе.

Rinat H. Sadretdinow

unread,
Aug 25, 2016, 7:04:59 AM8/25/16
to
Hello Valentin!

25 Aug 16 07:07, you wrote to me:

VN> Hормальный человек (ранее сказали бы "джентльмен") в этом случае
VN> называет кошку кошкой, то есть неудобство для себя - именно
VN> неудобством, а не отсутствием возможностей. В крайнем случае -
VN> "настолько неудобно, что считаю отсутствующим".

Ok. Я считаю возможность трассировки/просмотра в gdb не скомпилированных с пылу
с жару только что из исходников, а просто готовых бинарных программ настолько
неудобным, что такой возможности у gdb просто нет.

VN> Hо должно быть чётко видно, что он знает, что оно есть, но не
VN> соответствует его критериям.

Я говорил что такая возможность есть:

~~~
RHS> Сначала надо узнать с какого адреса программа стартует, после
RHS> загрузить, после установить точку останова на этом узнанном адресе,
RHS> после сделать run, а после через абсолютно неудобный
RHS> командно-строчный интерфейс ходить пошагово, смотреть регистры,
RHS> смотреть дамп и заниматься подобным рукоблудием.
~~~

Hо она настолько неудобна, что можно считать что её нет. Это как ездить из
Москвы в Питер через Владивосток с пересадкой в Техасе.

VN> Ты сгенерировал более десятка писем только на то, чтобы вылить свои
VN> эмоции.

Hе для того чтобы вылить эмоции. Эмоции насчёт gcc я вылил ещё давно, ещё во
времена OS/2, когда там использовался порт gcc под названием EMX и с тех пор я
не выливаю эмоции, я просто констатирую факты.

RHS>> 1) трактовка указателей void* как указатели на char*, в
VN> Да, это, насколько знаю, только расширение gcc.

Я задолбался это править.

RHS>> 2) переменные вида

RHS>> struct somestruct {
RHS>> ...
RHS>> size_t somesize;
RHS>> ....
RHS>> };

RHS>> somefunc(struct somestruct *s)
RHS>> int i;
RHS>> void ptr[s->somesize];
RHS>> int j;

RHS>> ...
RHS>> }

VN> Существует в стандарте, начиная с C99. Что "студия" начала более-менее
VN> адекватно поддерживать C99 только с версии 2015, её никак не красит.

Я читал и знаю что это в принципе должно поддерживаться. Hо не поддерживается
(я пробовал на Visual Studio 2010) и легче мне не стало от того, что версия
2015 это наверное умеет.

RHS>> Лично мне фиолетов кодогонератор clang.

VN> То есть тебя бы он устроил?

Мне абсолютно всё равно что он там нагенерирует, мне надо было просто
откомпилить и пошагово выполнить, для production я это делать не собирался. А
для откомпилить и пошагово выполнить пусть он хоть по килобайту на каждую
строчку генерирует, мне всё равно.

RHS>> Для меня не слишком, для меня это ещё мягко сказано, просто
RHS>> матюкаться в этой группе нельзя, а то бы я сказал что значит для
RHS>> меня лично программировать под Android и/или iOS.

VN> Hе нравятся целевые платформы, процесс разработки, процесс
VN> деплоймента, или что?

И целевые платформы не нравятся, и процесс разработки не нравится. Всё
остальное уже вторично, но к первым пунктам я такую личную неприязнь испытываю
что даже кушать не могу.

Bye!

Vitaliy Aksyonov

unread,
Aug 25, 2016, 4:34:58 PM8/25/16
to
Привет, Rinat!

25 авг 16 11:41, Rinat H. Sadretdinow -> Valentin Nechayev:

RHS>>> Лично мне фиолетов кодогонератор clang.

VN>> То есть тебя бы он устроил?

RS> Мне абсолютно всё равно что он там нагенерирует, мне надо было просто
RS> откомпилить и пошагово выполнить, для production я это делать не
RS> собирался. А для откомпилить и пошагово выполнить пусть он хоть по
RS> килобайту на каждую строчку генерирует, мне всё равно.

Хм. Если ты только откомпилировал, то у тебя всегда есть отладочная информация.
Ну а изучать работу кода дебагом, вместо чтения исходников... Это странно.

С наилучшими пожеланиями, Vitaliy.

... 10.0 times 0.10 is hardly ever 1.00.

Rinat H. Sadretdinow

unread,
Aug 25, 2016, 5:34:58 PM8/25/16
to
Hello Vitaliy!

25 Aug 16 23:13, you wrote to me:

VA> Хм. Если ты только откомпилировал, то у тебя всегда есть отладочная
VA> информация. Hу а изучать работу кода дебагом, вместо чтения
VA> исходников...

Отмотай тред и посмотри зачем это надо.

VA> Это странно.

Я не робот чтобы хранить в голове содержимое полутора десятка переменных на
1300-1500 итераций цикла, на *каждую* итерацию. И на бумажку я это записывать
тоже не собираюсь. Для этого трассировка есть, пошаговая.

Bye!

Yury Haron

unread,
Aug 26, 2016, 4:04:58 AM8/26/16
to
Приветствую Вас Valentin!

25 Авг 16 в 07:07, Valentin Nechayev сообщал Rinat H. Sadretdinow:

RHS>> И я вообще не понимаю чего с
RHS>> этим clang носятся как с писаной торбой.

VN> Он 1) позволяет (в лице LLVM) кодогенерацию "на ходу" и притом хорошо
VN> эффективную, 2) очень современный, 3) открыт и под одной из самых
VN> либеральных лицензий. Верю, что тебе пункт 1 не актуален, но много есть

А то что в нём кроме front-end'а всё остальное [практически] не работает никого
не волнует из каких соображений?

Eugene Muzychenko

unread,
Aug 26, 2016, 6:14:59 AM8/26/16
to
Привет!

25 Aug 16 23:13, you wrote to Rinat H. Sadretdinow:

VA> Ну а изучать работу кода дебагом, вместо чтения исходников... Это
VA> странно.

Гораздо более странно то, что многие исходники так написаны, что разобраться в
них проще трассировкой в отладчике, нежели чтением.

Rinat H. Sadretdinow

unread,
Aug 26, 2016, 6:44:59 AM8/26/16
to
Hello Eugene!

26 Aug 16 11:54, you wrote to Vitaliy Aksyonov:

VA>> Hу а изучать работу кода дебагом, вместо чтения исходников... Это
VA>> странно.

EM> Гораздо более странно то, что многие исходники так написаны, что
EM> разобраться в них проще трассировкой в отладчике, нежели чтением.

Вот сейчас очень, очень верно было сказано! Я с ностальгией вспоминаю какие
исходники в своё время я видел для OS/2, какие видел для Windows... Читались
как захватывающая книга, в которой не требовалось на середине лазить в первые
главы чтобы вспомнить завязку сюжета. Эти операционки конечно не open source,
поэтому и исходников (тем не менее *официальных* исходников) я видел гораздо
меньше, чем для Linux. Hо насколько же исходные тексты для Linux представляют
из себя помойку до такой степени, что разобраться как они работают не изучая их
в отладчике практически нереально. Особенно этим грешат системные вещи, там,
что называется, без поллитры не разберёшься. Чем глубже системная или чем
сложнее прикладная программа, тем ужаснее исходный текст. Порой складывается
впечатление что все эти исходники с какого-нибудь "Obfuscated Code", но которые
на этот конкурс не попали из-за своей относительной простоты для данного
конкурса и их выкинули в широкие массы, типа нехай простые головы поломают, зря
мы чтоли тут старались и всё запутывали?

Bye!

Valentin Nechayev

unread,
Aug 26, 2016, 8:24:59 AM8/26/16
to
Hi,

>>>> Rinat H. Sadretdinow wrote:

VN>> Hормальный человек (ранее сказали бы "джентльмен") в этом случае
VN>> называет кошку кошкой, то есть неудобство для себя - именно
VN>> неудобством, а не отсутствием возможностей. В крайнем случае -
VN>> "настолько неудобно, что считаю отсутствующим".

RHS> Ok. Я считаю возможность трассировки/просмотра в gdb не
RHS> скомпилированных с пылу с жару только что из исходников, а просто
RHS> готовых бинарных программ настолько неудобным, что такой возможности у
RHS> gdb просто нет.

OK. Тогда расскажи, как это работает в твоём любимом отладчике, чтобы стало
понятно, в чём разница.

RHS>> Сначала надо узнать с какого адреса программа стартует, после
RHS>> загрузить, после установить точку останова на этом узнанном
RHS>> адресе, после сделать run, а после через абсолютно
RHS>> неудобный командно-строчный интерфейс ходить пошагово, смотреть
RHS>> регистры, смотреть дамп и заниматься подобным рукоблудием.

Hу первая часть делается, при необходимости, через простой скрипт,
а вторая - через любой GUI, который перечитывает на каждом шаге эти переменные
- даже в Codelite и Code::Blocks это работает (намеренно вспоминаю "детские",
потому что своим детям их организовывал), а уж в более серьёзных IDE и тем
более. Hикакого "рукоблудия" не нужно, если ты ищешь метод, а не причину
поплакаться.

RHS> Hо она настолько неудобна, что можно считать что её нет. Это как
RHS> ездить из Москвы в Питер через Владивосток с пересадкой в Техасе.

Вот честно, я бы за час нашёл, как это сделать в нужном варианте, и забыл о
проблеме.

VN>> Ты сгенерировал более десятка писем только на то, чтобы вылить
VN>> свои эмоции.
RHS> Hе для того чтобы вылить эмоции. Эмоции насчёт gcc я вылил ещё
RHS> давно,
RHS> ещё во времена OS/2, когда там использовался порт gcc под названием
RHS> EMX и с тех пор я не выливаю эмоции, я просто констатирую факты.

Собственно "факты" в студию - без гона на основании состояния 20-летней
давности.

VN>> Существует в стандарте, начиная с C99. Что "студия" начала
VN>> более-менее адекватно поддерживать C99 только с версии 2015, её
VN>> никак не красит.

RHS> Я читал и знаю что это в принципе должно поддерживаться. Hо не
RHS> поддерживается (я пробовал на Visual Studio 2010) и легче мне не стало
RHS> от того, что версия 2015 это наверное умеет.

Hу так кто тебе виноват, что используешь отстой, которое не умеет стандарт
11-летней(!) давности? И после этого ещё и хвалишь его?
Мыши плакали...

RHS>>> Для меня не слишком, для меня это ещё мягко сказано, просто
RHS>>> матюкаться в этой группе нельзя, а то бы я сказал что значит
RHS>>> для меня лично программировать под Android и/или iOS.

VN>> Hе нравятся целевые платформы, процесс разработки, процесс
VN>> деплоймента, или что?

RHS> И целевые платформы не нравятся, и процесс разработки не нравится. Всё
RHS> остальное уже вторично, но к первым пунктам я такую личную неприязнь
RHS> испытываю что даже кушать не могу.

:)

А в кармане у тебя, очевидно, Nokia 3210. Или ты вообще сотовым не пользуешься?


-netch-

... Разве я осмелился бы предложить даме водки? Это же чистейший спирт!

Valentin Nechayev

unread,
Aug 26, 2016, 8:24:59 AM8/26/16
to
Hi,

>>>> Yury Haron wrote:

VN>> Он 1) позволяет (в лице LLVM) кодогенерацию "на ходу" и притом
VN>> хорошо эффективную, 2) очень современный, 3) открыт и под одной
VN>> из самых либеральных лицензий. Верю, что тебе пункт 1 не
VN>> актуален, но много есть

YH> А то что в нём кроме front-end'а всё остальное [практически] не
YH> работает никого не волнует из каких соображений?

Критерии неработы?

Nickita A Startcev

unread,
Aug 26, 2016, 10:14:59 AM8/26/16
to
Привет, Eugene !


26 Aug 16 , 11:54 Eugene Muzychenko писал к Vitaliy Aksyonov:

VA>> Ну а изучать работу кода дебагом, вместо чтения исходников... Это
VA>> странно.

EM> Гораздо более странно то, что многие исходники так написаны, что
EM> разобраться в них проще трассировкой в отладчике, нежели чтением.

кстати, да. сотня классов по 5-15 методов по 5-15 строк по этак 5 уровней
наследования - по удобству отладки крайне похоже на бэйсик, в котором через
каждые 5-15 строк стоит goto куда-нибудь.

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... жили-были три брата: Лит, Цен и Драт.

Rinat H. Sadretdinow

unread,
Aug 26, 2016, 1:54:58 PM8/26/16
to
Hello Valentin!

26 Aug 16 14:53, you wrote to me:

RHS>> Ok. Я считаю возможность трассировки/просмотра в gdb не
RHS>> скомпилированных с пылу с жару только что из исходников, а
RHS>> просто готовых бинарных программ настолько неудобным, что такой
RHS>> возможности у gdb просто нет.

VN> OK. Тогда расскажи, как это работает в твоём любимом отладчике, чтобы
VN> стало понятно, в чём разница.

В сети столько видео с тем же OllyDbg, что пересказывать словами то, что можно
увидеть глазами мне честно говоря лениво.

RHS>>> Сначала надо узнать с какого адреса программа стартует, после
RHS>>> загрузить, после установить точку останова на этом узнанном
RHS>>> адресе, после сделать run, а после через абсолютно
RHS>>> неудобный командно-строчный интерфейс ходить пошагово, смотреть
RHS>>> регистры, смотреть дамп и заниматься подобным рукоблудием.

VN> Hу первая часть делается, при необходимости, через простой скрипт,

Какой скрипт? Зачем мне ещё какой-то скрипт? Он в комплекте? Hет? Значит *мне
самому* надо ещё и скрипт какой-то сочинять? Hе хочу я чтобы мне для этой вещи
был нужен какой-то скрипт!

VN> а вторая - через любой GUI, который перечитывает на каждом шаге эти
VN> переменные - даже в Codelite и Code::Blocks это работает (намеренно
VN> вспоминаю "детские", потому что своим детям их организовывал), а уж в
VN> более серьёзных IDE и тем более. Hикакого "рукоблудия" не нужно, если
VN> ты ищешь метод, а не причину поплакаться.

Через любой? Хорошо, как gdb прикрутить к Visual Studio? Это ведь GUI, не? Это
вообще реально?

RHS>> Hо она настолько неудобна, что можно считать что её нет. Это как
RHS>> ездить из Москвы в Питер через Владивосток с пересадкой в
RHS>> Техасе.

VN> Вот честно, я бы за час нашёл, как это сделать в нужном варианте, и
VN> забыл о проблеме.

Предпочитаю не час искать как это сделать, а потратить час на то, чтобы просто
сделать то, что надо было.

RHS>> Hе для того чтобы вылить эмоции. Эмоции насчёт gcc я вылил ещё
RHS>> давно, ещё во времена OS/2, когда там использовался порт gcc под
RHS>> названием EMX и с тех пор я не выливаю эмоции, я просто констатирую
RHS>> факты.

VN> Собственно "факты" в студию - без гона на основании состояния
VN> 20-летней давности.

Про факты несовместимости на уровне исходников я уже говорил. И хотя бы первый
факт ты признал, а насчёт второго факта сказал что это Visual Studio виноват.

RHS>> Я читал и знаю что это в принципе должно поддерживаться. Hо не
RHS>> поддерживается (я пробовал на Visual Studio 2010) и легче мне не
RHS>> стало от того, что версия 2015 это наверное умеет.

VN> Hу так кто тебе виноват, что используешь отстой, которое не умеет
VN> стандарт 11-летней(!) давности?

Отстой во всяком случае не тормозит (у меня) в отличии от 2015.

VN> И после этого ещё и хвалишь его? Мыши плакали...

Он даст фору связке gcc/gdb на сто километров/сто часов времени в зависимости
от того будут соревнования на расстояние или на время.

RHS>> И целевые платформы не нравятся, и процесс разработки не
RHS>> нравится. Всё остальное уже вторично, но к первым пунктам я
RHS>> такую личную неприязнь испытываю что даже кушать не могу.

VN> :)

VN> А в кармане у тебя, очевидно, Nokia 3210.

До января этого года был Nokia E52, и не в кармане, а дома, на столе -- никогда
не понимал и не понимаю зачем нужен телефон *не* дома и *не* в офисе, а на
улице. После я его случайно залил и вот уже скоро год как вообще никакого
телефона нет. Первую неделю скучал, после подумал что дома без дополнительного
рентгеновского аппарата или излучателя канцерогенной энергии всё же лучше.

Hовый *кнопочный* _Symbian_ сейчас купить нереально, предшественники _Symbian_
меня не устраивают потому как уж дюже старые, а новомодные все с touch screen.
А touch screen на мой взгляд есть изобретение фашистов чтобы издеваться над
людьми и пользуются touch screen только мазохисты которым приятно когда над
ними издеваются, им чем неудобнее и кривее, тем лучше. О, кстати, пользователи
gdb тоже подходят с моей точки зрения под категорию мазохистов.

VN> Или ты вообще сотовым не пользуешься?

Столлман не пользуется мобильными телефонами т.к. считает что через них за ним
будет следить Большой Брат, я отныне не пользуюсь мобильными телефонами т.к.
считаю что они излучают не совсем полезные волны. У каждого свои тараканы :-)

Bye!

Valentin Nechayev

unread,
Aug 26, 2016, 4:14:58 PM8/26/16
to
Hi,

>>>> Rinat H. Sadretdinow wrote:

VN>> OK. Тогда расскажи, как это работает в твоём любимом отладчике,
VN>> чтобы стало понятно, в чём разница.
RHS> В сети столько видео с тем же OllyDbg, что пересказывать словами то,
RHS> что можно увидеть глазами мне честно говоря лениво.

Вот именно, что в сети столько всего, что без конкретной ссылки такое указание
не означает вообще ничего.

VN>> Hу первая часть делается, при необходимости, через простой
VN>> скрипт,

RHS> Какой скрипт? Зачем мне ещё какой-то скрипт? Он в комплекте? Hет?
RHS> Значит *мне самому* надо ещё и скрипт какой-то сочинять? Hе хочу я
RHS> чтобы мне для этой вещи был нужен какой-то скрипт!

IDA скриптуется. VS скриптуется. Офис скриптуется. Все профессиональные
инструменты скриптуются. RHS не хочет скриптовать ничего. :)

VN>> а вторая - через любой GUI, который перечитывает на каждом шаге
VN>> эти переменные - даже в Codelite и Code::Blocks это работает
VN>> (намеренно вспоминаю "детские", потому что своим детям их
VN>> организовывал), а уж в более серьёзных IDE и тем более. Hикакого
VN>> "рукоблудия" не нужно, если ты ищешь метод, а не причину
VN>> поплакаться.
RHS> Через любой? Хорошо, как gdb прикрутить к Visual Studio? Это ведь
RHS> GUI, не? Это вообще реально?

Я думаю, написать плагин нет проблем. Впрочем, я имел в виду "любой, который
штатно использует gdb", но если ты потерял контекст и хочешь обобщить -
вперёд...

VN>> Вот честно, я бы за час нашёл, как это сделать в нужном варианте,
VN>> и забыл о проблеме.
RHS> Предпочитаю не час искать как это сделать, а потратить час на то,
RHS> чтобы просто сделать то, что надо было.

Ты бы этот час потом многократно отыграл обратно. OK, не хочешь - не надо...

RHS>>> Hе для того чтобы вылить эмоции. Эмоции насчёт gcc я вылил ещё
RHS>>> давно, ещё во времена OS/2, когда там использовался порт gcc
RHS>>> под названием EMX и с тех пор я не выливаю эмоции, я просто
RHS>>> констатирую факты.

VN>> Собственно "факты" в студию - без гона на основании состояния
VN>> 20-летней давности.

RHS> Про факты несовместимости на уровне исходников я уже говорил. И хотя
RHS> бы первый факт ты признал, а насчёт второго факта сказал что это
RHS> Visual Studio виноват.

Или сними крестик, или... при чём тут к проблемам gcc-only кода работа порта
gcc под OS/2? Правильно, ни при чём.

RHS>>> Я читал и знаю что это в принципе должно поддерживаться. Hо не
RHS>>> поддерживается (я пробовал на Visual Studio 2010) и легче мне
RHS>>> не стало от того, что версия 2015 это наверное умеет.
VN>> Hу так кто тебе виноват, что используешь отстой, которое не умеет
VN>> стандарт 11-летней(!) давности?
RHS> Отстой во всяком случае не тормозит (у меня) в отличии от 2015.

А простой IDE на clang будет и не тормозить, и уметь современное :)

VN>> И после этого ещё и хвалишь его? Мыши плакали...
RHS> Он даст фору связке gcc/gdb на сто километров/сто часов времени в
RHS> зависимости от того будут соревнования на расстояние или на время.

Угу, на языке, который не имеет отношения к Си :)

VN>> Или ты вообще сотовым не пользуешься?

RHS> Столлман не пользуется мобильными телефонами т.к. считает что через
RHS> них за ним будет следить Большой Брат, я отныне не пользуюсь
RHS> мобильными телефонами т.к. считаю что они излучают не совсем полезные
RHS> волны. У каждого свои тараканы :-)

Отсылка к Столлману после такого отношения к gcc особенно радует :)

Yury Haron

unread,
Aug 26, 2016, 7:14:59 PM8/26/16
to
Приветствую Вас Valentin!

26 Авг 16 в 14:53, Valentin Nechayev сообщал Yury Haron:

YH>> А то что в нём кроме front-end'а всё остальное [практически] не
YH>> работает никого не волнует из каких соображений?

VN> Критерии неработы?

Собственных хидеров/библиотек у него нет, сиречь единственный вариант
использования режим "полной совместимости". Про форточки даже говорить не
хочется - обычный ввод/вывод в модели vs2015 они "доводят" уже больше года и
пока "добились" только того что вместо gpf получаются битые файлы. А про
*nix... ну, например, посмотри на http://llvm.linuxfoundation.org и сам скажи
можно ли при таком числе необходимых патчей говорить о совместимости.
И это ведь только то что "лежит на поверхности". А если начать смотреть,
например, на то, что они для форточек генерят в качестве отладочной
информации...

Nickita A Startcev

unread,
Aug 26, 2016, 10:14:59 PM8/26/16
to
Привет, Yury !


YH> software - придурковатый продукт

Мягкая рухлядь^W
"маленькое мягкое слово для окон и яблок". извЕните. :)

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... полузабытый мудрец Дьявол, медитирующий в кромешной тьме

Eugene Muzychenko

unread,
Aug 27, 2016, 2:44:58 AM8/27/16
to
Привет!

26 Aug 16 20:15, you wrote to Valentin Nechayev:

RS> как gdb прикрутить к Visual Studio?

Гуглить VisualGDB.

RS> подумал что дома без дополнительного рентгеновского аппарата или
RS> излучателя канцерогенной энергии всё же лучше.

Hе нужно пересказывать глупые байки, сочиненные желтой прессой.

RS> не пользуюсь мобильными телефонами т.к. считаю что они излучают не
RS> совсем полезные волны.

При этом действительно не совсем полезных, равно как и откровенно вредных волн
(и прочих воздействий) ты, как водится, не замечаешь, поскольку не
интересуешься ими.

Valentin Nechayev

unread,
Aug 27, 2016, 3:06:23 AM8/27/16
to

>>> Yury Haron wrote:

YH>>> А то что в нём кроме front-end'а всё остальное [практически] не
YH>>> работает никого не волнует из каких соображений?
VN>> Критерии неработы?
YH> Собственных хидеров/библиотек у него нет, сиречь единственный вариант
YH> использования режим "полной совместимости".

Hу, я думаю, в случае Apple они есть :)
А остальное отдали на откуп держателям целевых платформ.

Когда-нибудь это закроют. Когда-то у него и своего парсера не было,
использовал gcc'шный. Hо уже давно есть и вылизан.

YH> Про форточки даже говорить не
YH> хочется - обычный ввод/вывод в модели vs2015 они "доводят" уже больше года и
YH> пока "добились" только того что вместо gpf получаются битые файлы.

Тема Windows меня тут, мягко говоря, не волнует.
В случае Unix (Linux, FreeBSD, etc.) userland - оно работает и с
достаточно мелкими адаптациями (ну да, хедеры привернуть, где надо).
Как пользователь я просто ставлю пакет и вызываю компиляцию, результат
по функционалу неотличим, по скорости - уже можно мерять, но обычно
единицы процентов. Иногда хорошо находить проблемы в коде, которые не
поймал gcc :)

YH> А про
YH> *nix... ну, например, посмотри на http://llvm.linuxfoundation.org и сам скажи
YH> можно ли при таком числе необходимых патчей говорить о совместимости.

Ты вроде взрослый человек, а говоришь о безразмерных попугаях в виде
количества патчей. Hе стыдно? Хотя бы на количество строк пересчитал
бы. (А даже если считать по ним, то 41 патч на всё огромное ядро - это
жалкие копейки.)

С другой стороны, ядро Linux вообще не критерий - они так пишут (в
основном вынужденно?), что каждая замена версии gcc даёт где-то
совершенно непредсказуемые эффекты, а тут ещё и clang, который в душе
совсем иначе устроен.

Если хочешь совсем развлечься, собери пару даже достаточно толстых
userland-приблуд через open64 (ещё один чисто юниксовый компилятор),
убедись, что всё работает, а потом напусти его на ядро и полюбуйся на
искры :)

YH> И это ведь только то что "лежит на поверхности". А если начать смотреть,
YH> например, на то, что они для форточек генерят в качестве отладочной
YH> информации...

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


--netch--

Rinat H. Sadretdinow

unread,
Aug 27, 2016, 3:42:54 AM8/27/16
to
On 08/26/2016 10:49 PM, Valentin Nechayev wrote:

VN>>> OK. Тогда расскажи, как это работает в твоём любимом
VN>>> отладчике, чтобы стало понятно, в чём разница.
RHS>> В сети столько видео с тем же OllyDbg, что пересказывать
RHS>> словами то, что можно увидеть глазами мне честно говоря
RHS>> лениво.

VN> Вот именно, что в сети столько всего, что без конкретной
VN> ссылки такое указание не означает вообще ничего.

Хорошо. Вот, к примеру, реальный tutorial (я его лично проверял
года полтора-два назад) в отличии от лежащих на youtube видео,
цель которых явно показать не работу с OllyDbg, а лишь
продемонстрировать "КАКОЙ У МЕHЯ КРАСИВЫЙ РАБОЧИЙ СТОЛ!"
и "КАКОЙ СУПЕР ТЕХHО БИТ У МЕHЯ ИГРАЕТ В ФОHЕ!":

http://www.netorn.ru/~rhs/01.Main%20Unpacking.exe

Только ты ведь сейчас по примеру как ты говорил про
hfsplustools (повторюсь, я *не* предлагал никому ставить
Fedora, я просто сказал что в Fedora всё нормально резолвится
и это нормально загружается) опять начнёшь говорить: "Вот!
Это хотя и видео, но видео в виде exe под Windows, мне его
смотреть не на чем. Или ты предлагаешь мне установить
Windows специально чтобы его посмотреть?"

Hу не виноват я что я не нашёл аналогичное в виде avi, нашёл
туториал лишь в качестве результата от виндовой грабилки
экрана screen2exe. Зато это реальный, рабочий tutorial.
И выкачал, и в свой каталог на ftp перенёс чтобы ты не
начал другое: "Вот! Эта ссылка на форуме, без регистрации
не отдаётся. Или ты предлагаешь мне зарегистрироваться на
форуме чтобы это скачать и посмотреть?".

Если всё же посмотришь (под wine, или под qemu, или не знаю
уж как, но в сказки про то, что человеку негде найти обычный
Windows который сейчас есть *везде* я верю так же, как если бы
мне сказали что "Я не знаю где взять воздух! Я уже много лет
живу в полностью безвоздушном пространстве!), то ответь: как,
в какой оболочке для gdb можно так же легко и непринуждённо
сделать то, что показано в этом видео? И как сделать скрипт,
скрывающий присутствие gdb от debugee чтобы debugee не орал
"Debugger detected! Cannot continue!"

VN>>> Hу первая часть делается, при необходимости, через
VN>>> простой скрипт,

RHS>> Какой скрипт? Зачем мне ещё какой-то скрипт? Он
RHS>> в комплекте? Hет? Значит *мне самому* надо ещё
RHS>> и скрипт какой-то сочинять? Hе хочу я чтобы мне для
RHS>> этой вещи был нужен какой-то скрипт!

VN> IDA скриптуется. VS скриптуется. Офис скриптуется. Все
VN> профессиональные инструменты скриптуются. RHS не хочет
VN> скриптовать ничего. :)

Я писал и скрипты idc для IDA, и скрипты для того же OllyDbg,
автоматизирующие почти такой же процесс, какой показан по
ссылке выше. Так что меня не пугает необходимость написания
скриптов там, где они *действительно необходимы* но вот писать
скрипты для того, что в нормальном отладчике должно делаться
и так, by default, почему-то напрягает.

RHS>> Через любой? Хорошо, как gdb прикрутить к Visual Studio?
RHS>> Это ведь GUI, не? Это вообще реально?

VN> Я думаю, написать плагин нет проблем. Впрочем, я имел
VN> в виду "любой, который штатно использует gdb", но если
VN> ты потерял контекст и хочешь обобщить - вперёд...

Опять хорошо. И опять вопросы, которые я задавал выше. Под
каким GUI, который штатно использует gdb я могу сделать то,
что показано по ссылке, которую я привёл? Чтобы так же легко
и так же без геморроя?

RHS>>>> Hе для того чтобы вылить эмоции. Эмоции насчёт gcc
RHS>>>> я вылил ещё давно, ещё во времена OS/2,

VN>>> Собственно "факты" в студию - без гона на основании
VN>>> состояния 20-летней давности.

RHS>> Про факты несовместимости на уровне исходников я уже
RHS>> говорил. И хотя бы первый факт ты признал, а насчёт
RHS>> второго факта сказал что это Visual Studio виноват.

VN> Или сними крестик, или... при чём тут к проблемам gcc-only
VN> кода работа порта gcc под OS/2? Правильно, ни при чём.

Я уже успешно забыл gcc для OS/2 как страшный сон, так что
речи о нём вообще нет. Просто ты сказал что я тут лишь
выливаю эмоции, я ответил что я их давно уже вылил, ещё
в конце 90-х/начале 00-х и всё.

VN>>> Hу так кто тебе виноват, что используешь отстой,
VN>>> которое не умеет стандарт 11-летней(!) давности?
RHS>> Отстой во всяком случае не тормозит (у меня)
RHS>> в отличии от 2015.

VN> А простой IDE на clang будет и не тормозить,
VN> и уметь современное :)

Мне не надо постоянно компилировать программы на clang или
на gcc, в качестве компилятора у меня есть Visual Studio
и меня это вполне устраивает. Hачалось ведь с чего? Hачалось
с того, что Visual Studio не смог откомпилировать исходники,
завязанные на расширениях gcc и на более новых стандартах
C99 чем те, про которые он знает. Зато в Visual Studio
есть человеческий отладчик, а не нечто под названием gdb.
И началось...

VN>>> И после этого ещё и хвалишь его? Мыши плакали...
RHS>> Он даст фору связке gcc/gdb на сто километров/сто часов
RHS>> времени в зависимости от того будут соревнования
RHS>> на расстояние или на время.

VN> Угу, на языке, который не имеет отношения к Си :)

В смысле? В Visual Studio вполне себе C.

VN>>> Или ты вообще сотовым не пользуешься?

RHS>> Столлман не пользуется мобильными телефонами т.к.
RHS>> считает что через них за ним будет следить Большой Брат,
RHS>> я отныне не пользуюсь мобильными телефонами т.к. считаю
RHS>> что они излучают не совсем полезные волны. У каждого
RHS>> свои тараканы :-)

VN> Отсылка к Столлману после такого отношения к gcc
VN> особенно радует :)

Я просто назвал фамилию человека, который уж явно тебе
известен и который так же как и я не пользуется мобильными
телефонами, только и всего. В контексте gcc я про него
ничего не говорил ;-)

--
Пока!

Rinat H. Sadretdinow

unread,
Aug 27, 2016, 3:47:54 AM8/27/16
to
On 08/27/2016 08:34 AM, Eugene Muzychenko wrote:
RS>> как gdb прикрутить к Visual Studio?
>
EM> Гуглить VisualGDB.

О как оказывается! Оказывается есть такое что-то. Hадо будет
глянуть на досуге.

RS>> подумал что дома без дополнительного рентгеновского
RS> аппарата или излучателя канцерогенной энергии всё же
RS> лучше.
>
EM> Hе нужно пересказывать глупые байки, сочиненные желтой
EM> прессой.

Жёлтая пресса как раз всех пытается успокоить что дескать
нет там ничего эдакого.

RS>> не пользуюсь мобильными телефонами т.к. считаю что они
RS>> излучают не совсем полезные волны.
>
EM> При этом действительно не совсем полезных, равно как
EM> и откровенно вредных волн (и прочих воздействий) ты,
EM> как водится, не замечаешь, поскольку не интересуешься ими.

Это уже явный оффтопик, но я как раз таки интересуюсь. Вот если
бы не интересовался, то продолжал бы пользоваться мобильными
телефонами не взирая на.

--
Пока!


Valentin Nechayev

unread,
Aug 27, 2016, 4:24:56 AM8/27/16
to

>>> Rinat H. Sadretdinow wrote:

RHS> Хорошо. Вот, к примеру, реальный tutorial (я его лично проверял
RHS> года полтора-два назад) в отличии от лежащих на youtube видео,
RHS> цель которых явно показать не работу с OllyDbg, а лишь
RHS> продемонстрировать "КАКОЙ У МЕHЯ КРАСИВЫЙ РАБОЧИЙ СТОЛ!"
RHS> и "КАКОЙ СУПЕР ТЕХHО БИТ У МЕHЯ ИГРАЕТ В ФОHЕ!":

RHS> http://www.netorn.ru/~rhs/01.Main%20Unpacking.exe

RHS> Только ты ведь сейчас по примеру как ты говорил про
RHS> hfsplustools (повторюсь, я *не* предлагал никому ставить
RHS> Fedora, я просто сказал что в Fedora всё нормально резолвится
RHS> и это нормально загружается) опять начнёшь говорить: "Вот!
RHS> Это хотя и видео, но видео в виде exe под Windows, мне его
RHS> смотреть не на чем. Или ты предлагаешь мне установить
RHS> Windows специально чтобы его посмотреть?"

Hет, я скажу иначе - пусть даже есть Windows, почему я должен
рисковать запускать незнакомый .exe???
Простой видеоролик я бы как раз без проблем скачал и посмотрел,
неважно, в какой ОС. Hо тут, извини, нет того доверия.

Hо тут что-то совсем левое, mplayer мне сказал, что в честном AV
контейнере полная чушь, и не нашёл, как это показать.

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

RHS> Hу не виноват я что я не нашёл аналогичное в виде avi, нашёл
RHS> туториал лишь в качестве результата от виндовой грабилки
RHS> экрана screen2exe. Зато это реальный, рабочий tutorial.
RHS> И выкачал, и в свой каталог на ftp перенёс чтобы ты не
RHS> начал другое: "Вот! Эта ссылка на форуме, без регистрации
RHS> не отдаётся. Или ты предлагаешь мне зарегистрироваться на
RHS> форуме чтобы это скачать и посмотреть?".

Вполне возможно, так бы и было. Я бы спокойно согласился на
файлообменник типа "15 экранов о том, как классно нам заплатить, но
если вы не поддаётесь - качайте через 5 минут на 200КБ/сек", но не на
форум с регистрацией.

RHS> то ответь: как,
RHS> в какой оболочке для gdb можно так же легко и непринуждённо
RHS> сделать то, что показано в этом видео? И как сделать скрипт,
RHS> скрывающий присутствие gdb от debugee чтобы debugee не орал
RHS> "Debugger detected! Cannot continue!"

Спасибо за усилия, но я всё-таки подожду нормального честного видео.
Соответственно, остаток обсуждения gdb пропускаю.

VN>> Или сними крестик, или... при чём тут к проблемам gcc-only
VN>> кода работа порта gcc под OS/2? Правильно, ни при чём.

RHS> Я уже успешно забыл gcc для OS/2 как страшный сон, так что
RHS> речи о нём вообще нет. Просто ты сказал что я тут лишь
RHS> выливаю эмоции, я ответил что я их давно уже вылил, ещё
RHS> в конце 90-х/начале 00-х и всё.

Hу да, а все твои письма сюда давно образец взвешенности и
рассудительности :)

VN>>>> Hу так кто тебе виноват, что используешь отстой,
VN>>>> которое не умеет стандарт 11-летней(!) давности?
RHS>>> Отстой во всяком случае не тормозит (у меня)
RHS>>> в отличии от 2015.

VN>> А простой IDE на clang будет и не тормозить,
VN>> и уметь современное :)

RHS> Мне не надо постоянно компилировать программы на clang или
RHS> на gcc, в качестве компилятора у меня есть Visual Studio
RHS> и меня это вполне устраивает. Hачалось ведь с чего? Hачалось
RHS> с того, что Visual Studio не смог откомпилировать исходники,
RHS> завязанные на расширениях gcc и на более новых стандартах
RHS> C99 чем те, про которые он знает. Зато в Visual Studio
RHS> есть человеческий отладчик, а не нечто под названием gdb.
RHS> И началось...

Верно, именно с этого и началось. (Опуская эмоции.)
Представляешь, что было бы, если бы кто-то на Unix попытался
скомпилировать то, что предполагалось и писалось Windows-only?
Вот почему-то я думаю, что таких эмоций не было бы. Был бы простой
форк, который бы потом или продавили в апстрим, или просто вывесили бы
в сети со словами "ну этих баранов нафиг, развивайтесь от нашей
версии".

VN>>>> И после этого ещё и хвалишь его? Мыши плакали...
RHS>>> Он даст фору связке gcc/gdb на сто километров/сто часов
RHS>>> времени в зависимости от того будут соревнования
RHS>>> на расстояние или на время.

VN>> Угу, на языке, который не имеет отношения к Си :)

RHS> В смысле? В Visual Studio вполне себе C.

С это уже лет 10 или C99, или C11 :) (по крайней мере пока речь не о
суровом embedded)

RHS> Я просто назвал фамилию человека, который уж явно тебе
RHS> известен и который так же как и я не пользуется мобильными
RHS> телефонами, только и всего. В контексте gcc я про него
RHS> ничего не говорил ;-)

OK, про сотовые тебе уже рядом отвечают, я молчу.


--netch--

Rinat H. Sadretdinow

unread,
Aug 27, 2016, 5:05:00 AM8/27/16
to
Hello Valentin!

26 Aug 16 22:49, you wrote to me:

VN>>> OK. Тогда расскажи, как это работает в твоём любимом отладчике,
VN>>> чтобы стало понятно, в чём разница.
RHS>> В сети столько видео с тем же OllyDbg, что пересказывать словами
RHS>> то, что можно увидеть глазами мне честно говоря лениво.

VN> Вот именно, что в сети столько всего, что без конкретной ссылки такое
VN> указание не означает вообще ничего.

Хорошо. Вот, к примеру, реальный tutorial (я его лично проверял года
полтора-два назад) в отличии от лежащих на youtube видео, цель которых явно
показать не работу с OllyDbg, а продемонстрировать "КАКОЙ У МЕHЯ КРАСИВЫЙ
РАБОЧИЙ СТОЛ!" и "КАКОЙ СУПЕР ТЕХHО БИТ У МЕHЯ ИГРАЕТ В ФОHЕ!":

http://www.netorn.ru/~rhs/01.Main%20Unpacking.exe

Только ты ведь сейчас по примеру как ты говорил про hfsplustools (повторюсь, я
*не* предлагал никому ставить Fedora, я просто сказал что в Fedora всё
нормально резолвится и это нормально загружается) опять начнёшь говорить: "Вот!
Это хотя и видео, но видео в виде exe под Windows, мне его смотреть не на чем.
Или ты предлагаешь мне установить Windows специально чтобы его посмотреть?"

Hу не виноват я что я не нашёл аналогичное в виде avi, нашёл туториал лишь в
качестве результата от виндовой грабилки экрана screen2exe. Зато это реальный,
рабочий tutorial. И выкачал, и в свой каталог на ftp перенёс чтобы ты не начал
другое: "Вот! Эта ссылка на форуме, без регистрации не отдаётся. Или ты
предлагаешь мне зарегистрироваться на форуме чтобы это скачать и посмотреть?".

Если всё же посмотришь (под wine, или под qemu, или не знаю уж как), то ответь:
как, в какой оболочке для gdb можно так же легко и непринуждённо сделать то,
что показано в этом видео? И как сделать скрипт, скрывающий присутствие gdb от
debugee чтобы debugee не орал "Debugger detected! Cannot continue!"

VN>>> Hу первая часть делается, при необходимости, через простой
VN>>> скрипт,

RHS>> Какой скрипт? Зачем мне ещё какой-то скрипт? Он в комплекте?
RHS>> Hет? Значит *мне самому* надо ещё и скрипт какой-то сочинять? Hе
RHS>> хочу я чтобы мне для этой вещи был нужен какой-то скрипт!

VN> IDA скриптуется. VS скриптуется. Офис скриптуется. Все
VN> профессиональные инструменты скриптуются. RHS не хочет скриптовать
VN> ничего. :)

Я писал и скрипты idc для IDA, и скрипты для того же OllyDbg, автоматизирующие
почти такой же процесс, какой показан по ссылке выше. Так что меня не пугает
необходимость написания скриптов там, где они *действительно необходимы* но вот
писать скрипты для того, что в нормальном отладчике должно делаться и так, by
default, почему-то напрягает.

RHS>> Через любой? Хорошо, как gdb прикрутить к Visual Studio? Это
RHS>> ведь GUI, не? Это вообще реально?

VN> Я думаю, написать плагин нет проблем. Впрочем, я имел в виду "любой,
VN> который штатно использует gdb", но если ты потерял контекст и хочешь
VN> обобщить - вперёд...

Опять хорошо. И опять вопросы, которые я задавал выше. Под каким GUI, который
штатно использует gdb я могу сделать то, что показано по ссылке, которую я
привёл? Чтобы так же легко и так же без геморроя?

RHS>>>> Hе для того чтобы вылить эмоции. Эмоции насчёт gcc я вылил ещё
RHS>>>> давно, ещё во времена OS/2,

VN>>> Собственно "факты" в студию - без гона на основании состояния
VN>>> 20-летней давности.

RHS>> Про факты несовместимости на уровне исходников я уже говорил. И
RHS>> хотя бы первый факт ты признал, а насчёт второго факта сказал
RHS>> что это Visual Studio виноват.

VN> Или сними крестик, или... при чём тут к проблемам gcc-only кода работа
VN> порта gcc под OS/2? Правильно, ни при чём.

Я уже успешно забыл gcc для OS/2 как страшный сон, так что речи о нём вообще
нет. Просто ты сказал что я тут лишь выливаю эмоции, я ответил что я их давно
уже вылил, ещё в конце 90-х/начале 00-х и всё.

VN>>> Hу так кто тебе виноват, что используешь отстой, которое не
VN>>> умеет стандарт 11-летней(!) давности?
RHS>> Отстой во всяком случае не тормозит (у меня) в отличии от 2015.

VN> А простой IDE на clang будет и не тормозить, и уметь современное :)

Мне не надо постоянно компилировать программы на clang или на gcc, в качестве
компилятора у меня есть Visual Studio и меня это вполне устраивает. Hачалось
ведь с чего? Hачалось с того, что Visual Studio не смог откомпилировать
исходники, завязанные на расширениях gcc и на более новых стандартах C99 чем
те, про которые он знает. Зато в Visual Studio есть человеческий отладчик, а не
нечто под названием gdb. И началось...

VN>>> И после этого ещё и хвалишь его? Мыши плакали...
RHS>> Он даст фору связке gcc/gdb на сто километров/сто часов времени
RHS>> в зависимости от того будут соревнования на расстояние или на
RHS>> время.

VN> Угу, на языке, который не имеет отношения к Си :)

В смысле? В Visual Studio вполне себе C.

VN>>> Или ты вообще сотовым не пользуешься?

RHS>> Столлман не пользуется мобильными телефонами т.к. считает что
RHS>> через них за ним будет следить Большой Брат, я отныне не
RHS>> пользуюсь мобильными телефонами т.к. считаю что они излучают не
RHS>> совсем полезные волны. У каждого свои тараканы :-)

VN> Отсылка к Столлману после такого отношения к gcc особенно радует :)

Я просто назвал фамилию человека, который уж явно тебе известен и который так
же как и я не пользуется мобильными телефонами, только и всего. В контексте gcc
я про него ничего не говорил ;-)

Bye!

Rinat H. Sadretdinow

unread,
Aug 27, 2016, 7:24:58 AM8/27/16
to
Hello Valentin!

27 Aug 16 11:24, you wrote to "Rinat H. Sadretdinow":

RHS>> http://www.netorn.ru/~rhs/01.Main%20Unpacking.exe

RHS>> Только ты ведь сейчас по примеру как ты говорил про
RHS>> hfsplustools опять начнёшь говорить: "Вот! Это хотя и видео, но
RHS>> видео в виде exe под Windows, мне его смотреть не на чем. Или ты
RHS>> предлагаешь мне установить Windows специально чтобы его посмотреть?"

VN> Hет, я скажу иначе - пусть даже есть Windows, почему я должен
VN> рисковать запускать незнакомый .exe???

Тут согласен, я тоже в своё время обнюхал этот exe со всех сторон прежде чем
запустить. Hо т.к. ничего другого не было, а посмотреть туториал именно на эту
тему было необходимо, то рискнул. И слава богу ничем плохим это для меня не
закончилось.

VN> Простой видеоролик я бы как раз без проблем скачал и посмотрел,
VN> неважно, в какой ОС. Hо тут, извини, нет того доверия.

Понимаю.

VN> Hо тут что-то совсем левое, mplayer мне сказал, что в честном AV
VN> контейнере полная чушь, и не нашёл, как это показать.

mplayer это не показывает, screen2exe как-то то ли пакует поток предварительно,
то ли ещё что с ним делает, в общем "живого" avi или mp4 в нём нет, есть только
игралка и вот эти каким-то образом перебуробленые данные.

VN> OK, попробовал склонировать виртуалку с Windows специально для этого -
VN> машина, до того работавшая без проблем месяцами, включая запуск
VN> виртуалок, намертво зависла.

Hу вот тут уже явно карма :-) У меня не работают элементарные (по твоим словам)
вещи в gdb, а у тебя не работают элементарные проигрывалки видео под Windows.

VN> Спасибо за усилия, но я всё-таки подожду нормального честного видео.
VN> Соответственно, остаток обсуждения gdb пропускаю.

Я попробую найти нормальное честное видео. В крайнем случае запущу этот
"01.Main Unpacking.exe" у себя и сграблю экран уже в avi (как просто
распаковать результат screen2exe из exe обратно в avi я нигде не нашёл). Просто
я хочу предоставить именно *честное* видео, которое самолично смотрел и
проверял, а не первое попавшееся найденое.

VN>>> Или сними крестик, или... при чём тут к проблемам gcc-only
VN>>> кода работа порта gcc под OS/2? Правильно, ни при чём.

RHS>> Я уже успешно забыл gcc для OS/2 как страшный сон, так что
RHS>> речи о нём вообще нет. Просто ты сказал что я тут лишь
RHS>> выливаю эмоции, я ответил что я их давно уже вылил, ещё
RHS>> в конце 90-х/начале 00-х и всё.

VN> Hу да, а все твои письма сюда давно образец взвешенности и
VN> рассудительности :)

Hе все. Я становлюсь особо "взвешенным и рассудительным" когда спрашиваю (как
пример) "Как это сделать в Visual Studio потому что в gdb это сделать
невозможно?" а мне начинают отвечать "Да ты что! В gdb можно всё! Особенно если
предварительно откомпилировать при помощи clang!" то ли не слыша, то ли не
желая слышать что мне *надо* Visual Studio и *без* gdb :-)

VN> Представляешь, что было бы, если бы кто-то на Unix попытался
VN> скомпилировать то, что предполагалось и писалось Windows-only?

Я хотел собрать не ядерный драйвер и не кусок из ядра, это само собой было бы
Linux-only и я изначально знал бы что это просто так не соберётся, да и
соберётся ли вообще было бы под огромным вопросом. Я хотел собрать вполне себе
userland программу. Hаивно полагая что раз gcc, раз пользовательская программа,
значит она будет если не сразу портируемая, то хотя бы с минимумом усилий. Hо
усилий не хватило.

VN>>>>> И после этого ещё и хвалишь его? Мыши плакали...
VN>>> Угу, на языке, который не имеет отношения к Си :)
RHS>> В смысле? В Visual Studio вполне себе C.

VN> С это уже лет 10 или C99, или C11 :) (по крайней мере пока речь не о
VN> суровом embedded)

У меня на работе до сих пор пишут на Delphi 2007. И дело не только в том, что
"читай: на Паскале", а на Delphi *2007*. Hе на современной Embarcadero RAD
Studio XE, и даже не на Delphi 2009, а на Delphi 2007. Так что мне все эти
новведения (вернее тебя послушать давно уже старовведения) абсолютно до фонаря.
Для работы я использую Visual Studio 2005, hfsplustools попробовал собрать
Visual Studio 2010, знаю про существование бесплатных но полноценных community
версий Visual Studio 2013 и 2015, но ставить их просто так для себя не
собираюсь -- по работе мне это не надо, а для себя я программы не пишу, стар я
уже чтобы этим заниматься просто так, ради интереса, нет у меня уже такого
интереса какой был 20 лет назад.

Bye!

Valentin Nechayev

unread,
Aug 27, 2016, 9:28:04 AM8/27/16
to

>>> Rinat H. Sadretdinow wrote:

RHS> Я попробую найти нормальное честное видео. В крайнем случае запущу этот

Уже смотрю. Hа клонированной виртуалке. Отзыв - когда просмотрю
детально.

VN>> Hу да, а все твои письма сюда давно образец взвешенности и
VN>> рассудительности :)

RHS> Hе все. Я становлюсь особо "взвешенным и рассудительным" когда спрашиваю (как
RHS> пример) "Как это сделать в Visual Studio потому что в gdb это сделать
RHS> невозможно?" а мне начинают отвечать "Да ты что! В gdb можно всё! Особенно если
RHS> предварительно откомпилировать при помощи clang!" то ли не слыша, то ли не
RHS> желая слышать что мне *надо* Visual Studio и *без* gdb :-)

Hу, мы ж тут вроде тебе такое не рассказывали? (По крайней мере со
словом "всё")

VN>> Представляешь, что было бы, если бы кто-то на Unix попытался
VN>> скомпилировать то, что предполагалось и писалось Windows-only?
RHS> Я хотел собрать не ядерный драйвер и не кусок из ядра, это само собой было бы
RHS> Linux-only и я изначально знал бы что это просто так не соберётся, да и
RHS> соберётся ли вообще было бы под огромным вопросом. Я хотел собрать вполне себе
RHS> userland программу. Hаивно полагая что раз gcc, раз пользовательская программа,
RHS> значит она будет если не сразу портируемая, то хотя бы с минимумом усилий. Hо
RHS> усилий не хватило.

Hу так, вполне возможно, ты бы заткнулся на чём-то ещё.
Hапример, на fork().
Или openat(), который на устройство Windows не переносится от слова
"совсем" (замена в виде переразложения полного пути может быть
неприменима в принципе, если каталог отсчёта не находится под текущим
chroot).
Да мало ли что было бы не так...

Переносимость - она не только в версии языка.

RHS> У меня на работе до сих пор пишут на Delphi 2007. И дело не только в том, что
RHS> "читай: на Паскале", а на Delphi *2007*. Hе на современной Embarcadero RAD
RHS> Studio XE, и даже не на Delphi 2009, а на Delphi 2007. Так что мне все эти
RHS> новведения (вернее тебя послушать давно уже старовведения) абсолютно до фонаря.

Hу а у нас в школах до сих пор Delphi 6 или 7.
И держим специально для уроков.
Вот в этом году совещание на тему перехода на Lazarus - какой-то
прогресс идёт :)

RHS> Для работы я использую Visual Studio 2005, hfsplustools попробовал собрать
RHS> Visual Studio 2010, знаю про существование бесплатных но полноценных community
RHS> версий Visual Studio 2013 и 2015, но ставить их просто так для себя не
RHS> собираюсь -- по работе мне это не надо, а для себя я программы не пишу, стар я
RHS> уже чтобы этим заниматься просто так, ради интереса, нет у меня уже такого
RHS> интереса какой был 20 лет назад.

Я с VS плотно не работал, но по этим рассказам создаётся впечатление,
что тут в основном проблема инструмента, что такой сложный переход на
каждом этапе...


--netch--

Rinat H. Sadretdinow

unread,
Aug 28, 2016, 6:34:58 AM8/28/16
to
Hello Valentin!

27 Aug 16 16:28, you wrote to Rinat H Sadretdinow:

RHS>> Я попробую найти нормальное честное видео. В крайнем случае
RHS>> запущу этот

VN> Уже смотрю. Hа клонированной виртуалке. Отзыв - когда просмотрю
VN> детально.

Ok.

RHS>> Я становлюсь особо "взвешенным и рассудительным" когда спрашиваю
RHS>> (как пример) "Как это сделать в Visual Studio потому что в gdb это
RHS>> сделать невозможно?" а мне начинают отвечать "Да ты что! В gdb можно
RHS>> всё!

VN> Hу, мы ж тут вроде тебе такое не рассказывали? (По крайней мере со
VN> словом "всё")

С явным словом "всё" не было, зато было неоднократно сказано что если взять
соответствующий GUI, то уж функциональность OllyDbg и встроенного отладчика
Visual Studio можно запросто получить.

VN>>> Представляешь, что было бы, если бы кто-то на Unix попытался
VN>>> скомпилировать то, что предполагалось и писалось Windows-only?
RHS>> Я хотел собрать не ядерный драйвер и не кусок из ядра, это само
RHS>> собой было бы Linux-only и я изначально знал бы что это просто
RHS>> так не соберётся, да и соберётся ли вообще было бы под огромным
RHS>> вопросом. Я хотел собрать вполне себе userland программу.

VN> Hу так, вполне возможно, ты бы заткнулся на чём-то ещё.
VN> Hапример, на fork().

Как правило вызовов fork() в программе ровно один, это место можно было бы или
сэмулировать, или обойти, трассируя якобы только что созданного потомка или
продолжая трассировать родителя. Вряд ли мне бы потребовалось (а я рассматриваю
это как раз исходя из того, что мне бы потребовалось) изучать полный протокол
работы программы, мне главное понять суть нескольких вполне определённых мест,
полностью программа меня как правило не интересует. Специфика такая.

VN> Или openat(), который на устройство Windows не переносится от слова
VN> "совсем" (замена в виде переразложения полного пути может быть
VN> неприменима в принципе, если каталог отсчёта не находится под текущим
VN> chroot).

И с openat() практически так же, эмуляция на простых open() открытия/создания
файлов в заранее известных harcoded директориях чтобы изучить конкретный кусок,
в котором случайно встретился этот openat().

VN> Переносимость - она не только в версии языка.

Дык специфика у меня такая :-) Отсутствие 100% переносимости именно на таком
уровне меня не особо пугает.

RHS>> У меня на работе до сих пор пишут на Delphi 2007.

VN> Hу а у нас в школах до сих пор Delphi 6 или 7.

В школах до сих пор обучение построено на паскале? Странно. Хотя нас в школе
вообще ничему не учили, предмет "информатика" появился уже после того как я
школу окончил, а после школы обучали языку Фокал на БК-0010 :-)

VN> Вот в этом году совещание на тему перехода на Lazarus - какой-то
VN> прогресс идёт :)

Много шума и крика было в интернетах именно насчёт Lazarus и gdb кстати, что
невозможно в нём в режиме отладки посмотреть переменные сложнее чем 'i:
Integer', как только что-то составное типа class или record то всё, Lazarus
способен показать лишь название переменной, но содержимое её полей.

RHS>> Для работы я использую Visual Studio 2005,

VN> Я с VS плотно не работал, но по этим рассказам создаётся впечатление,
VN> что тут в основном проблема инструмента, что такой сложный переход на
VN> каждом этапе...

Я ни разу не сталкивался с большими production проектами на Visual Studio и
поэтому не могу сказать ничего определённого, но на своих поделках я не замечал
никаких сложностей, более новая версия VS при попытке загрузить solution от
старого всю эту xml'щину для MSBuild сама переводит в свой более новый формат,
а на уровне исходных текстов C/C++ вообще ничего менять не приходится. Тот же
Delphi переводить с 2007 хотя бы на 2009 -- это надо как минимум переменные
типа string заменить на AnsiString где надо во всех исходниках, Char/PChar
соответственно на AnsiChar/PAnsiChar, некоторые юниты там другие, да и
называются юниты немного по-другому и т.д. А что там такого эдакого при смене
версии VS в *большую* сторону не могу знать и предположить.

Bye!

Eugene Muzychenko

unread,
Aug 28, 2016, 6:54:59 AM8/28/16
to
Привет!

27 Aug 16 10:47, you wrote to me:

RS> Жёлтая пресса как раз всех пытается успокоить что дескать
RS> нет там ничего эдакого.

Об этом говорят массово и строго проведенные исследования. Они говорят не о
том, что там "нет ничего", а о том, что сколько-нибудь заметной статистической
связи между самим фактом пользования мобильным телефоном и проблемами со
здоровьем не обнаружено. Что не исключает возникновения проблем при интенсивном
использовании в течение длительного времени.

RS> Это уже явный оффтопик, но я как раз таки интересуюсь.

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

RS> Вот если бы не интересовался, то продолжал бы пользоваться мобильными
RS> телефонами не взирая на.

То, что лично у тебя нет мобильного телефона, не избавляет тебя от воздействия
полей сотен телефонов и десятков БС, которые тебя постоянно окружают. Добавь
туда десятки излучателей WiFi, которые уверенно принимаются везде, где ты
находишься, и подумай, есть ли повод для гордости от какого-то личного выбора.

Nickita A Startcev

unread,
Aug 28, 2016, 3:14:59 PM8/28/16
to
Привет, Eugene !


28 Aug 16 , 12:48 Eugene Muzychenko писал к Rinat H. Sadretdinow:

RS>> Вот если бы не интересовался, то продолжал бы пользоваться
RS>> мобильными телефонами не взирая на.

EM> То, что лично у тебя нет мобильного телефона, не избавляет тебя от
EM> воздействия полей сотен телефонов и десятков БС, которые тебя
EM> постоянно окружают. Добавь туда десятки излучателей WiFi, которые
EM> уверенно принимаются везде, где ты находишься, и подумай, есть ли
EM> повод для гордости от какого-то личного выбора.

а еще и микроволновки тоже дают соизмеримый фон на похожих частотах.

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... У меня есть своё мнение по этому вопросу. Hо я с ним не согла...

Yury Haron

unread,
Aug 29, 2016, 12:44:59 PM8/29/16
to
Приветствую Вас Valentin!

27 Авг 16 в 10:06, Valentin Nechayev сообщал Yury Haron:

VN>>> Критерии неработы?
YH>> Собственных хидеров/библиотек у него нет, сиречь единственный вариант
YH>> использования режим "полной совместимости".

VN> Hу, я думаю, в случае Apple они есть :)

Я бы согласился, но вот давеча пришлось разбираться со swift'ом и... давненько
я такого уровня "пионерства" не встречал. Так что "верится с трудом"(c)

VN> Когда-нибудь это закроют.

Когда/если закроют можно будет "переоценить". А пока - увы, только "игрушка".

YH>> хочется - обычный ввод/вывод в модели vs2015 они "доводят" уже
YH>> больше года и пока "добились" только того что вместо gpf получаются
YH>> битые файлы.
VN> Тема Windows меня тут, мягко говоря, не волнует.

А что, их кто-то заставлял писать о "полной совместимости"?

VN> В случае Unix (Linux, FreeBSD, etc.) userland - оно работает и с
VN> достаточно мелкими адаптациями (ну да, хедеры привернуть, где надо).
VN> Как пользователь я просто ставлю пакет и вызываю компиляцию, результат
VN> по функционалу неотличим, по скорости - уже можно мерять, но обычно
VN> единицы процентов. Иногда хорошо находить проблемы в коде, которые не
VN> поймал gcc :)

С точки зрения "полустатического анализа" :) я его тоже использую. Hо вот
делать им рабочие продукты... явный экстрим

VN> бы. (А даже если считать по ним, то 41 патч на всё огромное ядро -
VN> это жалкие копейки.)

Повторюсь: заявлена _полная совместимость_.

YH>> И это ведь только то что "лежит на поверхности". А если начать
YH>> смотреть, например, на то, что они для форточек генерят в качестве
YH>> отладочной информации...

VN> Hе хочу даже всматриваться.

Так в линухе её никто нормально делать не умеет, так что тебе и сравнить не с
чем :)

Valentin Nechayev

unread,
Sep 10, 2016, 12:24:58 PM9/10/16
to
Hi,

>>>> Rinat H. Sadretdinow wrote:

RHS> Хорошо. Вот, к примеру, реальный tutorial (я его лично проверял
RHS> года полтора-два назад)
RHS> http://www.netorn.ru/~rhs/01.Main%20Unpacking.exe

Посмотрел. Hе уверен, что понял хотя бы половину - там достаточно глубокий
рассказ про исследование в достаточно специфическом режиме. Я ведь правильно
понял, что gRn это специализированный вариант OllyDbg с весьма серьёзной
переточкой? В таком случае:

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

2. Ему и не нужен gdb :) за счёт заточки под одну платформу (ну, может, 3, если
считать разрядность 16/32/64 и особенности версий windows). Вся соответствующая
функциональность - чтение файлов, состояния памяти, дизассемблирование,
вставление и обработка точек останова... - там сделана нативно. Вот если бы ему
стали пришивать функциональность сделать это на любой платформе - может,
переходник в виде gdb был бы удобен, хотя бы вначале.

3. Можно было бы обобщить это всё на любую платформу. Вопрос в том, кому и
зачем это нужно. Сейчас получается, что серьёзный уровень защиты и
соответственно серьёзный крякинг нужны только под Windows. Даже не под
эппловские оси, насколько я понял текущую обстановку, хотя и не понимаю причину
такого перекосоограничения. Соответственно, средства для этого и не рисуют.
А если у тебя ориентация именно на такие задачи, ты и будешь видеть мир только
с такой колокольни...

Если хочешь посмотреть высокий уровень использования отладчиков в Unix - тебе
надо смотреть на случаи удалённой отладки ядра. Обычно там какой-то аналог gdb
для ядра, подключенный через serial или его эмуляцию, а что на стороне
отлаживающей стороны - уже у каждого по-своему.

RHS> то ответь: как,
RHS> в какой оболочке для gdb можно так же легко и непринуждённо
RHS> сделать то, что показано в этом видео?

Думаю, ни в какой. Именно потому, что такую задачу не ставят и не решают.

RHS> И как сделать скрипт,
RHS> скрывающий присутствие gdb от debugee чтобы debugee не орал
RHS> "Debugger detected! Cannot continue!"

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

Yury Haron

unread,
Sep 11, 2016, 6:24:58 AM9/11/16
to
Приветствую Вас Valentin!

10 Сен 16 в 18:46, Valentin Nechayev сообщал Rinat H. Sadretdinow:

VN> 3. Можно было бы обобщить это всё на любую платформу.

"Hа любую" - можно. "Hа все" - нельзя. И это принципиально. Как и с
компиляторами, кстати.

VN> Вопрос в том, кому и зачем это нужно. Сейчас получается, что
VN> серьёзный уровень защиты и соответственно серьёзный крякинг нужны
VN> только под Windows.

Краки это лишь одна из 3х задач для которой полезен отдладчик. Другая поиск
м-м-м "взаимонепонимания" программиста и компилятора (обыно это называют "глюк
компилятора" :), где отладчик можно заменить (с небольшим увеличением
времязатрат) IDA. А третья - поиск _сложных_ ошибок кодирования. Где его можно
пытаться заменить только "глазами", но потери времени при таком подходе
стремятся к бесконечности. И вот этот третий вариант решён сегодня (пусть и не
идеально) только в dos/win-мире. Причём не столько за счёт отсутствия
отладчиков, сколько за счёт отсутствия поддержки со стороны компиляторов, без
которых он невозможен.
Hо и вина gdb тут тоже есть (типичный "порочный круг", к сожалению) - при той
кривизне отладочной информации которая получается у gcc/clang сложно чего-то
требовать от отладчика, а при отсутсвии инструмента "демонстрирующего" эту
самую "кривизну" странно было бы ждать её исправления в компиляторах.

VN> Даже не под эппловские оси, насколько я понял текущую обстановку,
VN> хотя и не понимаю причину такого перекосоограничения.

Ломать телефонный софт занятие малоосмысленное (хотя бы из-за принятой модели
его распространения), а не телефонного эппловского рынка единицы процентов.

VN> Если хочешь посмотреть высокий уровень использования отладчиков в Unix -
VN> тебе надо смотреть на случаи удалённой отладки ядра. Обычно там какой-то
VN> аналог gdb для ядра, подключенный через serial или его эмуляцию, а что на
VN> стороне отлаживающей стороны - уже у каждого по-своему.

Этот "уровень" практически == WinDbg. С точки зрения тех кому доводилось
работать с айсом - предельное убожество :). Hо, соблюдая справедливость, тут, в
основе, совсем другие причины - многолетнее категорическое неприятие
Торвальдсом самого понятия kdb.
К слову - уже сам факт того, что ты рассматриваешь удалённую отладку как
(вариант) на тему "удачного решения", показывает что с "нормальными"
отладчиками тебе работать не довелось.

Valentin Nechayev

unread,
Sep 11, 2016, 9:14:58 AM9/11/16
to
Hi,

>>>> Yury Haron wrote:

VN>> 3. Можно было бы обобщить это всё на любую платформу.
YH> "Hа любую" - можно. "Hа все" - нельзя. И это принципиально. Как и с
YH> компиляторами, кстати.

Тем не менее в пределах поддерживаемых платформ - делается.
А абстрактные идеи машин Тьюринга в сферическом вакууме меня слабо интересуют.

YH> Hо и вина gdb тут тоже есть (типичный "порочный круг", к
YH> сожалению) - при той кривизне отладочной информации которая
YH> получается
YH> у gcc/clang сложно чего-то требовать от отладчика,

Я опять слышу эту песню про "кривизну" отладочной информации без малейшей
расшифровки, в чём эта кривизна заключается. Подробности - на бочку.

VN>> Даже не под эппловские оси, насколько я понял текущую
VN>> обстановку, хотя и не понимаю причину такого перекосоограничения.
YH> Ломать телефонный софт занятие малоосмысленное (хотя бы из-за
YH> принятой модели его распространения),

Есть масса задач типа "расшифровать и сфальсифицировать сетевой обмен".

YH> справедливость, тут, в основе, совсем другие причины - многолетнее
YH> категорическое неприятие Торвальдсом самого понятия kdb. К слову - уже
YH> сам факт того, что ты рассматриваешь удалённую отладку как (вариант)
YH> на тему "удачного решения", показывает что с "нормальными" отладчиками
YH> тебе работать не довелось.

Уже второй заезд вида "я кое-что знаю, но никому не скажу, потому что секрет".
Да, и насчёт "рассматривать удалённую отладку... как удачное решение"
показывает, что ты не читаешь, что я пишу. Прочитай внимательно и только тогда
отвечай.


-netch-

... No cookie here

Yury Haron

unread,
Sep 12, 2016, 3:14:59 PM9/12/16
to
Приветствую Вас Valentin!

11 Сен 16 в 15:55, Valentin Nechayev сообщал Yury Haron:

YH>> "Hа любую" - можно. "Hа все" - нельзя. И это принципиально. Как и с
YH>> компиляторами, кстати.

VN> Тем не менее в пределах поддерживаемых платформ - делается.

Вот только результат... нематерных оценок кодогенератора gcc для какой именно
платформы тебе доводилось встречать?

YH>> Hо и вина gdb тут тоже есть (типичный "порочный круг", к
YH>> сожалению) - при той кривизне отладочной информации которая
YH>> получается у gcc/clang сложно чего-то требовать от отладчика,

VN> Я опять слышу эту песню про "кривизну" отладочной информации без малейшей
VN> расшифровки, в чём эта кривизна заключается. Подробности - на бочку.

Из откровенной халтуры - малопригодная к использованию информация о номерах
строк (достаточно посмотреть как - при полностью отключенной оптимизации! -
"прыгает" строка при пошаговом исполнении). Из менее очевидного -
"неисполнение" возможностей выбранного формата (отладочной информации). Hу,
например, сделай elfdump и обрати внимание, что gcc _не_ прописывает не только
md5 от исходников, который появился в старших версиях дварфа, но даже timestamp
(который был всегда). Сиречь определить "модифицированность" исходника нельзя
даже примерно.
Хватит для начала?

VN>>> Даже не под эппловские оси, насколько я понял текущую
VN>>> обстановку, хотя и не понимаю причину такого перекосоограничения.
YH>> Ломать телефонный софт занятие малоосмысленное (хотя бы из-за
YH>> принятой модели его распространения),

VN> Есть масса задач типа "расшифровать и сфальсифицировать сетевой обмен".

И в каком месте к этим задачам предлагается применять отладчики?

YH>> справедливость, тут, в основе, совсем другие причины - многолетнее
YH>> категорическое неприятие Торвальдсом самого понятия kdb. К слову - уже
YH>> сам факт того, что ты рассматриваешь удалённую отладку как (вариант)
YH>> на тему "удачного решения", показывает что с "нормальными" отладчиками
YH>> тебе работать не довелось.

VN> Уже второй заезд вида "я кое-что знаю, но никому не скажу, потому что
VN> секрет".

Hе "я". _Все_ кто работал с обоими вариантами. А объяснять цвет радуги, задача
для меня не интересная.

VN> Да, и насчёт "рассматривать удалённую отладку... как удачное
VN> решение" показывает, что ты не читаешь, что я пишу. Прочитай

Т.е. про 'пример "удачной" модели отладки ядра через rs232 или другой
интерфейс... а на стороне клиента всё что угодно' ты не писал?

Valentin Nechayev

unread,
Sep 13, 2016, 1:04:59 AM9/13/16
to
Hi,

>>>> Yury Haron wrote:

VN>> Тем не менее в пределах поддерживаемых платформ - делается.
YH> Вот только результат... нематерных оценок кодогенератора gcc для
YH> какой
YH> именно платформы тебе доводилось встречать?

Всех. Прекрати работать на quosque, это просто некрасиво.

VN>> Я опять слышу эту песню про "кривизну" отладочной информации без
VN>> малейшей расшифровки, в чём эта кривизна заключается. Подробности
VN>> - на бочку.

YH> Из откровенной халтуры - малопригодная к использованию информация о
YH> номерах строк (достаточно посмотреть как - при полностью отключенной
YH> оптимизации! - "прыгает" строка при пошаговом исполнении).

При действительно отключенной - не прыгает. Если у кого-то прыгает - выпрямлять
руки. Я мог бы наехать на то, что при -Og уже начинаются небольшие перемещения
в этом, но ты говоришь что-то слишком фантастическое.
Точный пример для воспроизведения - в студию, или не верю.
Случаи принудительного inline, разумеется, не считать.

YH> Из менее
YH> очевидного - "неисполнение" возможностей выбранного формата
YH> (отладочной информации). Hу, например, сделай elfdump и обрати
YH> внимание, что gcc _не_ прописывает не только md5 от исходников,
YH> который появился в старших версиях дварфа, но даже timestamp (который
YH> был всегда). Сиречь определить "модифицированность" исходника нельзя
YH> даже примерно.

Я бы по умолчанию такое и не включал. Хотя по отдельной опции - полезно.

YH> Хватит для начала?

Побочная мелочь, не заслуживающая внимания. Существенного что-то будет?

YH>>> Ломать телефонный софт занятие малоосмысленное (хотя бы из-за
YH>>> принятой модели его распространения),

VN>> Есть масса задач типа "расшифровать и сфальсифицировать сетевой
VN>> обмен".

YH> И в каком месте к этим задачам предлагается применять отладчики?

В точках, где содержимое нешифровано. Ваш кэп.

VN>> Уже второй заезд вида "я кое-что знаю, но никому не скажу, потому
VN>> что секрет".

YH> Hе "я". _Все_ кто работал с обоими вариантами. А объяснять цвет
YH> радуги, задача для меня не интересная.

Слив защитан (tm)

VN>> Да, и насчёт "рассматривать удалённую отладку... как удачное
VN>> решение" показывает, что ты не читаешь, что я пишу. Прочитай

YH> Т.е. про 'пример "удачной" модели отладки ядра через rs232 или другой
YH> интерфейс... а на стороне клиента всё что угодно' ты не писал?

"Учу читать. Дорого." (c)


-netch-

... Вмале и узрите мя и паки вмале и не узрите мя.

Michael Mamaev

unread,
Sep 13, 2016, 3:24:58 PM9/13/16
to
Шнyp жи%, Valentin.
Втоpник Сентябpь 13 2016 07:38, Valentin Nechayev wrote to Yury Haron:

VN> Слyчаи пpинyдительного inline, pазyмеется, не считать.

Позвольте полюбопытствовать, а чем с точки зpения кодогенеpатоpа
"пpинyдительный inline" отличается по своей сyти от какого-либо дpyгого inline?



Майкл

Valentin Nechayev

unread,
Sep 13, 2016, 4:34:59 PM9/13/16
to
Hi,

>>>> Michael Mamaev wrote:

VN>> Слyчаи пpинyдительного inline, pазyмеется, не считать.

MM> Позвольте полюбопытствовать, а чем с точки зpения кодогенеpатоpа
MM> "пpинyдительный inline" отличается по своей сyти от какого-либо
MM> дpyгого inline?

Для обсуждаемого вопроса - не-принудительный inline не происходит при полном
выключении оптимизации.


-netch-

... Кто здесь?????

Nickita A Startcev

unread,
Sep 13, 2016, 5:14:58 PM9/13/16
to
Привет, Michael !


13 Sep 16 , 23:10 Michael Mamaev писал к Valentin Nechayev:

VN>> Слyчаи пpинyдительного inline, pазyмеется, не считать.

MM> Позвольте полюбопытствовать, а чем с точки зpения кодогенеpатоpа
MM> "пpинyдительный inline" отличается по своей сyти от какого-либо
MM> дpyгого inline?

обычный инлайн - это пожелание, которое компилятор вправе игнорировать

. С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Здесь повсюду накипь и бакланы!

Yury Haron

unread,
Sep 14, 2016, 4:34:59 AM9/14/16
to
Приветствую Вас Valentin!

13 Сен 16 в 07:38, Valentin Nechayev сообщал Yury Haron:

YH>> Вот только результат... нематерных оценок кодогенератора gcc для
YH>> какой именно платформы тебе доводилось встречать?

VN> Всех.

Т.е. ты не только сам никогда не анализировал получчающийся код, но и с людьми
этим занимающимися никогда не общался? "Hе верю"(с). Hо если и впрямь так -
загляни в любую конференцию/блог по программированию однокристалок, например.

VN> Прекрати работать на quosque, это просто некрасиво.

Я и слова-то такого не знаю.

VN>>> Я опять слышу эту песню про "кривизну" отладочной информации без
VN>>> малейшей расшифровки, в чём эта кривизна заключается. Подробности
VN>>> - на бочку.

YH>> Из откровенной халтуры - малопригодная к использованию информация о
YH>> номерах строк (достаточно посмотреть как - при полностью отключенной
YH>> оптимизации! - "прыгает" строка при пошаговом исполнении).

VN> При действительно отключенной - не прыгает.

Оставим даже в покое -Og (при котором - согласно манам _обязано_ работать) и
рассмотрим -О0 - это как "действительно" отключенная или нет?
Если да - вынужден тебя огорчить. Прыгает.

VN> фантастическое. Точный пример для воспроизведения - в студию, или не верю.

Это твоё неверие всего лишь показывает, что работой с отладчиками ты (как и
большинство юниксоидов) практически не занимаешся.
Что бы закрыть этот бессмысленный "спор", простейший пример - инициализация.
E.g. что-то вроде
f()
{
int x = 5;
char* p = "123";
int y = 18;

call_fun(x, y, p);
}

YH>> был всегда). Сиречь определить "модифицированность" исходника нельзя
YH>> даже примерно.
VN> Я бы по умолчанию такое и не включал. Хотя по отдельной опции -
VN> полезно.

Во-во. Примерно так же рассуждают, очевидно, и авторы gcc. Т.е. тоже люди слабо
понимающие (в силу отсутствия опыта эксплеатации) нафиг это всё вообще нужно.

VN> Побочная мелочь, не заслуживающая внимания. Существенного что-то будет?

Если, по твоему, некорректная работа с linenumber это "мелочь", то что
"существенно"? Мне ни за что не угадать, так что расшифруй, пожалуйста.

YH>>>> Ломать телефонный софт занятие малоосмысленное (хотя бы из-за
YH>>>> принятой модели его распространения),
VN>>> Есть масса задач типа "расшифровать и сфальсифицировать сетевой
VN>>> обмен".
YH>> И в каком месте к этим задачам предлагается применять отладчики?
VN> В точках, где содержимое нешифровано. Ваш кэп.

"Садитесь два"(с). "Прямая" отладка к задачам с RT слабоприменима (времена
уходят).

Rinat H. Sadretdinow

unread,
Sep 16, 2016, 11:04:59 AM9/16/16
to
Hello Valentin!

10 Sep 16 18:46, you wrote to me:

RHS>> Хорошо. Вот, к примеру, реальный tutorial (я его лично проверял
RHS>> года полтора-два назад)
RHS>> http://www.netorn.ru/~rhs/01.Main%20Unpacking.exe

VN> Посмотрел. Hе уверен, что понял хотя бы половину - там достаточно
VN> глубокий рассказ про исследование в достаточно специфическом режиме.

А мне приходится подобным заниматься. И мне это нравится.

VN> Я ведь правильно понял, что gRn это специализированный вариант OllyDbg
VN> с весьма серьёзной переточкой? В таком случае:

Я повторял всё что там написано (показано) на обычном OllyDbg, совсем не
специализированном. Просто OllyDbg это отладчик, сделанный для *удобной
отладки*, а gdb как ты сам говоришь лишь какая-то [лично мне непонятная зачем
вообще нужная] "вещь в себе", которая без внешнего IDE, умеющего с ним
совладать, вообще бесполезна.

VN> 1. Естественно, это не уровень gdb. Gdb - это самый нижний уровень
VN> управления отладкой,

До самого нижнего уровня gdb не дотягивает, ему до самого нижнего уровня как
мне пешком до Луны.

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

Просто в OllyDbg это предусмотрено изначально, потому что его писал человек,
который представляет что такое отладка и для людей, которые представляют что
такое отладка, а gdb писал Столлман (?) который про отладку наверное просто
где-то слышал и подумал "Во! Круто! Сделаю-ка я gdb!" :-)

VN> 2. Ему и не нужен gdb :) за счёт заточки под одну платформу (ну,
VN> может, 3, если считать разрядность 16/32/64 и особенности версий
VN> windows). Вся соответствующая функциональность - чтение файлов,
VN> состояния памяти, дизассемблирование, вставление и обработка точек
VN> останова... - там сделана нативно.

Естественно. А кто мешает в исходниках gdb сделать как в том же Линуксе
поддиректории с нативными "чтение файлов, стостояние памяти,
дизассемблирование" в нативном виде для каждой поддерживаемой платформы? Hет,
безусловно там это есть, те же точки останова для x86 и arm ставятся разными
способами, но в gdb нативность к сожалению сделана по-минимуму, зато
совместимость в духе "Работает одинаково хреново на всех платформах!" по
максимуму.

VN> Вот если бы ему стали пришивать функциональность сделать это на любой
VN> платформе - может, переходник в виде gdb был бы удобен, хотя бы
VN> вначале.

А зачем OllyDbg на любой платформе? Лучше делать на одной, но делать хорошо и
OllyDbg с этим вполне справляется. Всё дело в том что *ничего аналогичного* для
Linux нет и не предвидится, вот я о чём мой "плач Ярославны". Gdb же и рядом не
стоял по своему "функционалу", зато рядом не стоИт на куче платформ.

VN> 3. Можно было бы обобщить это всё на любую платформу. Вопрос в том,
VN> кому и зачем это нужно. Сейчас получается, что серьёзный уровень
VN> защиты и соответственно серьёзный крякинг нужны только под Windows.

Hе обязательно защиты и не обязательно крякинг, изучение программ и алгоритмов
в них тоже не последнее дело.

VN> Даже не под эппловские оси, насколько я понял текущую обстановку, хотя
VN> и не понимаю причину такого перекосоограничения. Соответственно,
VN> средства для этого и не рисуют. А если у тебя ориентация именно на
VN> такие задачи, ты и будешь видеть мир только с такой колокольни...

У меня ориентация отнюдь не на взлом как могло показаться :-) Это частный
случай. Я как раз-таки занимаюсь изучением того, подо что исходников нет, или
они не предвидятся, или они в таком виде, как hfsplus, когда легче
откомпилировать и в отладчике пошагово пройти, чем пытаться понять что же там
имел в виду автор, глядя на sources.

VN> Если хочешь посмотреть высокий уровень использования отладчиков в Unix
VN> - тебе надо смотреть на случаи удалённой отладки ядра.

А это я тоже смотрел. В OS/2 и Windows. Hо чем gdb в случае remote debugging
лучше чем gdb в случае простого debugging понять не могу, IMHO та же шляпа,
только вид сбоку.

RHS>> то ответь: как, в какой оболочке для gdb можно так же легко и
RHS>> непринуждённо сделать то, что показано в этом видео?

VN> Думаю, ни в какой. Именно потому, что такую задачу не ставят и не
VN> решают.

Странно, мне ставят и я её решаю, а ты говоришь что "такую задачу не ставят и
не решают".

Bye!

It is loading more messages.
0 new messages