forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Любопытный баг в MSVC 6.0 (http://forum.boolean.name/showthread.php?t=7832)

impersonalis 14.02.2009 03:41

Любопытный баг в MSVC 6.0
 
Сегодня открыл старый проект в указанной в сабже IDE. Старый проект в своё время размешался на другом компе на диске F.
При перезде все проекты были зарезаны на болванки "as is".
Дак вот. К ставшим уже привычным зависаниям на стадии компиляции (котороые происходят, как правило после неожиданно лихого исправления ошибки [N-1]ой компиляции, но в целом слабопрогнозируемы), добавилась полуспонтанная ошибка "винда не смогла открыть диск бла-бла-бла" - что-то типа этого. :4to:
Причём только в ИДЕ.
В общем вот что я надумал:
в Class browsing information - файле (*.NCB ), имелись явные отсылки к диску F (смотрим первую часть поста), типа:
Цитата:

F:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\mfcatl.ncb
В то время как сейчас проекты хрантся на диске Е.
Диск F же захвачен слотом одного из кардриедеров и на момент кодения был без носителя.
В пользу этой тоерии говрят два и более фактов:
*.ncb-файлы и раньше мне доверия не внушали - из-за штатного зависания компилятора, файл мог криво записатцо и в результате весь броузинг по классам (заключающийся для юзера в разворачивании окошка компонентов класса, при вводе конструкции обращения к элементу, типа "myObj->") переставал работать.
Сами файлы никак на производительность не влияют - описанный выше дефект лечитцо удалением ncb и пересборкой проекта.
Ошибка во многом коррелировала с моими попытками ввести новый текст в местах потенциального срабатывания броузера компонент и форточка имела уровень модальности "процесс" (именно ИДЕ).
В своё время, когда я наскоро оптимизировал размер имеющихся проектов - я резал именно нцб.

зыж тока не надо писать: ну ты ламооо! это не баг, это фича. В целом соглашусь, что это мною спровоцированная неодназначность. и исходники надохранить чуть=ли не в одних цпп без всяких связок. Однако более френдли-юзер-ИДЕ (кстати как там старшие версии сабжа?) предложила бы пересобарть проджект, нактнувшись на неподвластный носитель, а не тупо крешила взыов WinAPI функции.
С уважением.

jimon 14.02.2009 10:56

Ответ: Любопытный баг в MSVC 6.0
 
impersonalis
ncb надо удалять после 3-5 часов программирования проекта

HolyDel 14.02.2009 11:00

Ответ: Любопытный баг в MSVC 6.0
 
jimon и что ето даст? И почему, в таком случае, разработчики IDE не сделали автоудаление ncb файла через некоторый промежуток времени?

jimon 14.02.2009 11:43

Ответ: Любопытный баг в MSVC 6.0
 
HolyDel
ncb файл засоряется довольно быстро и через некоторое время отказывается реагировать на изменения описаний классов, помогает только удаление бд - ncb

FDsagizi 14.02.2009 12:30

Ответ: Любопытный баг в MSVC 6.0
 
Цитата:

Сообщение от jimon (Сообщение 98140)
impersonalis
ncb надо удалять после 3-5 часов программирования проекта

В начале рабочего дня делаю 2 вещи, Обновляюсь с SVN и удаляю .ncb

jimon 14.02.2009 21:45

Ответ: Любопытный баг в MSVC 6.0
 
FDsagizi
я когда интерфейсы правлю то каждые 30 минут удаляю :(

FDsagizi 16.02.2009 07:37

Ответ: Любопытный баг в MSVC 6.0
 
Цитата:

Сообщение от jimon (Сообщение 98194)
FDsagizi
я когда интерфейсы правлю то каждые 30 минут удаляю :(

Все интерфейсы запомнить обычно могу до конца дня :), хотя Intellisense глючит, но это терпимо.

jimon 16.02.2009 10:51

Ответ: Любопытный баг в MSVC 6.0
 
FDsagizi
intellisense нужен когда в интерфейсах всякие методы с именами int VeryLongNameAndMegaPowerMethodMuHaHaHa(int SomeParam1,int SomeParam2,int SomeParam3,int SomeParam4,int SomeParam5)

impersonalis 16.02.2009 11:24

Ответ: Любопытный баг в MSVC 6.0
 
Цитата:

Сообщение от HolyDel
Тема "Девушки - зло" плавно перешла в тему "Мужики - сдохните"

(http://www.forum.boolean.name/showth...?t=1806&page=2 )


Часовой пояс GMT +4, время: 10:47.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot