Понадобилось внести небольшие изменения в исходники ATL (чисто в отладочных целях), однако столкнулся с проблемой: такое впечатление, что они не перекомпилируются. Например:
у меня происходит вылет на строке pEntry->pCF->Release() (соответсвенно в дебагере на ней происходит останов). Пробую закомментарить ее, перекомпилирую, результат тот же — останов на закомментаренной строке. Пробую сместить все на строку вниз, останов происходит на той строке, где раньше была эта строка. Пытаюсь вставить ATLTRACE2("blabla"), нифига не выводит. Из чего делаю вывод, что от того, что я меняю исходник, никакой реакции нет. Что можно сделать?
Здравствуйте, Alexey Shirshov, Вы писали:
AS>Здравствуйте, swamp, Вы писали:
AS>[]
AS>Правкой ATL-ых исходников багу в своем коде не найдешь.
Под правкой подразумевается преимущественно вставка ATLTRACE...
Кстати, еще одну вещь забыл сказать, почему-то нельзя поставить break-point внутри ATL-ного кода (точнее поставить можно, но на нем он не останавливается и брекпойнт показывается с вопросиком)... Это нормально?
Здравствуйте, swamp, Вы писали:
S>Здравствуйте, Alexey Shirshov, Вы писали:
AS>>Здравствуйте, swamp, Вы писали:
AS>>[]
AS>>Правкой ATL-ых исходников багу в своем коде не найдешь.
S> Под правкой подразумевается преимущественно вставка ATLTRACE...
S> Кстати, еще одну вещь забыл сказать, почему-то нельзя поставить break-point внутри ATL-ного кода (точнее поставить можно, но на нем он не останавливается и брекпойнт показывается с вопросиком)... Это нормально?
Возможно скажу глупость, но вдруг у тебя установлено 2 комплекта ATL, и ты ставишь бряки по одному пути, а компилятор смотрит по другому.
зы Никогда не видел бряк с вопросиком.
[]
S> Кстати, еще одну вещь забыл сказать, почему-то нельзя поставить break-point внутри ATL-ного кода (точнее поставить можно, но на нем он не останавливается и брекпойнт показывается с вопросиком)... Это нормально?
Здравствуйте, folk, Вы писали:
S>> Кстати, еще одну вещь забыл сказать, почему-то нельзя поставить break-point внутри ATL-ного кода (точнее поставить можно, но на нем он не останавливается и брекпойнт показывается с вопросиком)... Это нормально?
F>Возможно скажу глупость, но вдруг у тебя установлено 2 комплекта ATL, и ты ставишь бряки по одному пути, а компилятор смотрит по другому.
Хм... Вроде бы одна версия у меня... Та, что с VS.NET 2002 ставится...
F>зы Никогда не видел бряк с вопросиком.
Такое бывает, когда пытаешься отладить релизную версию... Но у меня дебаг, тем более что в моем проекте брекпоинты работают...
Здравствуйте, Alexey Shirshov, Вы писали:
S>> Кстати, еще одну вещь забыл сказать, почему-то нельзя поставить break-point внутри ATL-ного кода (точнее поставить можно, но на нем он не останавливается и брекпойнт показывается с вопросиком)... Это нормально?
AS>Нет.
AS>Какую версию ATL ты используешь?
Та, что с VS.NET 2002 ставится (т.е седьмую), без аттрибутов...
S>Понадобилось внести небольшие изменения в исходники ATL (чисто в отладочных целях), однако столкнулся с проблемой: такое впечатление, что они не перекомпилируются.
Мне понадобилась правка функции CWindow::MessageBox() — сделать ее с модификатором const, так как иначе нельзя было сделать ее вызов из константного CWindow-derived класса. Изменения воспринялись после Rebuild All.
Здравствуйте, swamp, Вы писали:
S>Понадобилось внести небольшие изменения в исходники ATL (чисто в отладочных целях), однако столкнулся с проблемой: такое впечатление, что они не перекомпилируются. Например:
S>
S>у меня происходит вылет на строке pEntry->pCF->Release() (соответсвенно в дебагере на ней происходит останов). Пробую закомментарить ее, перекомпилирую, результат тот же — останов на закомментаренной строке. Пробую сместить все на строку вниз, останов происходит на той строке, где раньше была эта строка. Пытаюсь вставить ATLTRACE2("blabla"), нифига не выводит. Из чего делаю вывод, что от того, что я меняю исходник, никакой реакции нет. Что можно сделать?
S>Делал и Build и Rebuild. Результат одинаковый.
Мужик, после того как изменил файл не включенный в проект его ОБЯЗАТЕЛЬНО надо сохранить на диск. И только потом Rebuild All. А иначе ты его токо в памяти меняешь.
Здравствуйте, kliff, Вы писали:
S>>Делал и Build и Rebuild. Результат одинаковый.
K>Мужик, после того как изменил файл не включенный в проект его ОБЯЗАТЕЛЬНО надо сохранить на диск. И только потом Rebuild All. А иначе ты его токо в памяти меняешь.
Что происходит, если поставить breakpoint в своем коде (я полагаю это работает, иначе нужно включить debuginfo в опциях проекта) и попробовать протрасировать внутрь какого-нибудь ATL вызова? Должен открыться файл с соответствующем кодом. Проверь где этот файл будет расположен, в том же месте где ты правишь исходники?
WBR,
Влад Волосюк
Re[2]: Правка исходников ATL
От:
Аноним
Дата:
21.07.03 12:36
Оценка:
Здравствуйте, deviv, Вы писали:
D>Что происходит, если поставить breakpoint в своем коде (я полагаю это работает, иначе нужно включить debuginfo в опциях проекта) и попробовать протрасировать внутрь какого-нибудь ATL вызова? Должен открыться файл с соответствующем кодом. Проверь где этот файл будет расположен, в том же месте где ты правишь исходники?
Ну я бы уж лучше посоветовал в том файле, где правишь поставить
#error "Its me"
или
#pragma message("Its me")
После чего запустить полную перекомпиляцию, и посмотреть, сработает оно или нет.