Как можно отключить отладку класса
От: Аноним  
Дата: 27.01.11 12:25
Оценка:
Здравствуйте!

В проекте используются шаблонные классов и методы. В частности умные указатели.
При отладке кода встроенными средствами MSVS C++, чтобы попасть в функцию типа:
[ccode]

struct A{};
typedef boost::interusive_ptr<A> PtrA;

void func(PtrA a1, PtrA a2, PtrA a3);

[ccode]

3 раза попадаешь в копирующий конструктор умного указателя, что честно говоря сильно напрягает :=)
Подскажите плиз., есть ли возможность отключить ненужную трассировку определённых участков кода?
В данном случае копирующего конструктора boost::interusive_ptr<A>.

Заранее благодарен :=)




06.02.11 19:35: Перенесено модератором из 'C/C++' — Odi$$ey
Re: Как можно отключить отладку класса
От: Chorkov Россия  
Дата: 27.01.11 12:44
Оценка: 19 (6)
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте!


А>В проекте используются шаблонные классов и методы. В частности умные указатели.

А>При отладке кода встроенными средствами MSVS C++, чтобы попасть в функцию типа:
А>

А>struct A{};
А>typedef boost::interusive_ptr<A> PtrA;

А>void func(PtrA a1, PtrA a2, PtrA a3);

А>


А>3 раза попадаешь в копирующий конструктор умного указателя, что честно говоря сильно напрягает :=)

А>Подскажите плиз., есть ли возможность отключить ненужную трассировку определённых участков кода?
А>В данном случае копирующего конструктора boost::interusive_ptr<A>.

А>Заранее благодарен :=)


Настройка зависит от используемой версии VS.
см.
http://blogs.msdn.com/b/andypennell/archive/2004/02/06/69004.aspx
Re: Как можно отключить отладку класса
От: McQwerty Россия  
Дата: 02.02.11 17:41
Оценка:
Здравствуйте, Аноним, Вы писали:

А>В проекте используются шаблонные классов и методы. В частности умные указатели.

А>При отладке кода встроенными средствами MSVS C++, чтобы попасть в функцию типа:
А>[ccode]
А>struct A{};
А>typedef boost::interusive_ptr<A> PtrA;
А>void func(PtrA a1, PtrA a2, PtrA a3);
А>[ccode]

А>3 раза попадаешь в копирующий конструктор умного указателя, что честно говоря сильно напрягает :=)

А>Подскажите плиз., есть ли возможность отключить ненужную трассировку определённых участков кода?
А>В данном случае копирующего конструктора boost::interusive_ptr<A>.

Передавай по ссылке.
Re: Как можно отключить отладку класса
От: dmitry_npi Россия  
Дата: 03.02.11 04:34
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>чтобы попасть в функцию....3 раза попадаешь в копирующий конструктор


Right Click -> Step Into Specific
Атмосферная музыка — www.aventuel.net
Re[2]: Как можно отключить отладку класса
От: CreateNew  
Дата: 04.02.11 16:38
Оценка:
MQ>Передавай по ссылке.

Можно конечно :=)

В этом случае надо везде в первых строчках тела функций вставлять копирование всех умных указателей в локальные переменные.
Иначе в МТ приложениях могут быть проблемы :=)

К тому же переписывать весь код уже поздно...
Re[2]: Как можно отключить отладку класса
От: CreateNew  
Дата: 04.02.11 16:47
Оценка:
Здравствуйте, Chorkov, Вы писали:

C>Настройка зависит от используемой версии VS.

C>см.
C>http://blogs.msdn.com/b/andypennell/archive/2004/02/06/69004.aspx


Спасибо за ссылку.

Огорчает, что такая вроде бы полезная фича относиться к недокументированным возможностям VS.
Да ещё и делается через реестр.

Заставить работать для boost::intrusive_ptr<class> пока так и не получилось.
Буду пробовать.
Re[2]: Как можно отключить отладку класса
От: CreateNew  
Дата: 04.02.11 17:13
Оценка:
MQ>Передавай по ссылке.

Можно конечно :=)

Но в случае МТ приложения в теле функции нельзя будет пользоваться этими ссылками (на умные указатели)
Их сразу надо будет копировать в локальные переменные и пользоваться данными через них.
Иначе могут быть проблемы :=)

А как быть с вызовами:

[ccode]

boost::intrusive_ptr<>::operator*()
boost::intrusive_ptr<>::operator->()

[ccode]
Re: Как можно отключить отладку класса
От: MasterZiv СССР  
Дата: 04.02.11 20:40
Оценка:
On 27.01.2011 15:25, Аноним 603 wrote:

> 3 раза попадаешь в копирующий конструктор умного указателя, что честно говоря

> сильно напрягает :=)
> Подскажите плиз., есть ли возможность отключить ненужную трассировку
> определённых участков кода?

F10 ?
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Как можно отключить отладку класса
От: CreateNew  
Дата: 04.02.11 20:49
Оценка:
Здравствуйте, MasterZiv, Вы писали:

>> Подскажите плиз., есть ли возможность отключить ненужную трассировку

>> определённых участков кода?

MZ>F10 ?


Нет же)
Задача — зайти сразу внутрь функции минуя трассировку копирующих конструкторов
Re[3]: Как можно отключить отладку класса
От: MasterZiv СССР  
Дата: 05.02.11 14:06
Оценка:
On 04.02.2011 23:49, CreateNew wrote:
> Нет же)
> Задача — зайти сразу внутрь функции минуя трассировку копирующих конструкторов

F11, Shift-F11. Придётся потерпеть.
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.