1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Как исключить из отладки некоторые модули?

Тема в разделе "С и С++", создана пользователем DJAnthon, 8 мар 2010.

  1. DJAnthon

    DJAnthon Гость

    Репутация:
    0
    C++ Builder 6, XP SP3, все стандартно.

    Есть ли какие-нибудь директивы или настройки или способы (кроме пихания функций в DLL) стандартной отладки,
    чтобы по F7 (Trace Into) "ходить" только по нужным мне файлам (либо исключая определенные, тоже можно)?

    Например, при работе с динамическими массивами TDynamicArray постоянно открывается файл sysdyn.h
    и очень сложно выполнить код какой-нибудь сложной конструкции языка, так как, к примеру
    A и A.Length - это не операторы и не переменные, а фактически, вызов функций классов, которые мне не надо отлаживать,
    а в них постоянно идет курсор отладки.

    P.S. Не отсылайте на поиск, я не знаю, какие ключевые слова использовать. здесь впервые. спасибо.
     
  2. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.432
    Симпатии:
    40
    Используйте кнопку F8.
     
  3. DJAnthon

    DJAnthon Гость

    Репутация:
    0
    Эх, если бы все так просто было бы... F8 пропускает строчку целиком, а мне нужно зайти внутрь процедуры,
    ПРОПУСКАЯ промежуточные вызовы модулей, не участвующих в отладке.
    К примеру, вызов

    [codebox]
    AddInterval(TempModes[j].Ints[k], TempModes[j].Name, FormMain -> Standard.Rounding);
    [/codebox]

    по F8 двинется ниже, а мне нужно зайти в функцию AddInterval.
    однако по F7 заход будет сначала в модуль sysdyn.h целых 3 раза, чтобы вычислить
    функцию-оператор [] для динамического массива, а мне от этого и надо избавиться.
    Единственный выход - ставить бряку внутри функции, но это неудобно, потому как она
    может быть перегружена, переопределена, может вызываться рекурсивно.
    А наворчивать условия срабатывания брякпоинта иногда сложнее, чем реверс-инженеринг.
    Потому как функция может быть написана давно (да и не мной).


    Прогю уже 10 лет (последние пять лет на 1С), но не знаю до сих пор ответа на этот вопрос.
     
  4. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.432
    Симпатии:
    40
    В visual studio есть такая штука. В Билдере, по-моему, никак. Только бряки.
     
  5. DJAnthon

    DJAnthon Гость

    Репутация:
    0
    жаль, спасибо за ответ...
     
Загрузка...

Поделиться этой страницей