2011-05-09 7 views
1

Мне нравится, как вы можете захватывать точки останова как события Intellitrace. Точки останова легко добавлять/включать/отключать и могут быть добавлены/удалены во время выполнения (в отличие от событий консоли).Intellitrace capture breakpoint events без фактического прекращения выполнения программы

Однако, конечно, контрольные точки останавливают поток выполнения, и я должен постоянно нажимать F5 F5 F5 F5 F5 F5, пока я отлаживаю запущенное приложение. Я хотел бы иметь возможность захватывать события точки останова в intellitrace и просто позволить исполнению кода, фактически не разбивая точки останова.

Я также использовал операторы Консоли как захваченные события intellitrace, но точки останова намного проще добавлять (F9 в отличие от вставки Console.WriteLine("...") везде), и я могу добавлять и отключать новые точки останова во время выполнения, тогда как если я хочу добавьте или удалите событие на консоли во время выполнения, я должен остановить программу, добавить/удалить и перезапустить.

Есть ли хорошие способы захвата событий intellitrace таким образом?

ответ

3

Я думаю, что это то, что вы ищете:

http://geekswithblogs.net/sdorman/archive/2009/02/14/visual-studio-2008-debugging-tricks-ndash-advanced-breakpoints.aspx

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

В Visual Studio есть тонна отличных функций внутри опции точки останова. Я уверен, что даже если вышеупомянутый вариант не решит вашу проблему, есть еще что-то, что включено в эту статью, которая решит вашу проблему.

+2

Трассировочные точки должны решить проблему OP просто: как указано в http://msdn.microsoft.com/en-us/library/dd264944.aspx, точки трассировки вызовут событие Intellitrace. –