Окно точек останова Visual Studio: что показывает TreeView? - PullRequest
5 голосов
/ 11 августа 2010

Обычно при использовании точек останова в Visual Studio (2008 в этом примере) я просто вижу плоский список.Хотя иногда я получаю древовидное представление для каждой точки останова, как показано ниже (есть 26 дочерних узлов расширенного узла).Все узлы дерева ссылаются на одну и ту же строку кода, и все необязательные столбцы отображают одинаковые данные для каждого узла.Я предполагаю, что они, возможно, связаны с потоками, но какая польза от них и что они на самом деле показывают?И если они имеют какое-то значение, как вы должны их различать?

Окно точек останова http://www.freeimagehosting.net/uploads/2244242173.png

Ответы [ 2 ]

4 голосов
/ 11 августа 2010

В моем случае это похоже на домены приложений в процессе отладки.Если я присоединяю WinDbg к процессу, загружаю SOS.dll и запускаю !DumpDomain, я вижу 26 доменов приложений, соответствующих 26 узлам дерева в вопросе.Было бы неплохо, если бы в окне точек останова был столбец, который бы различал их!

3 голосов
/ 22 февраля 2016

Они называются дочерними контрольными точками, редко документируются ( 1 , 2 ) и, как правило, содержат ошибки

Опытным путем для нативного кода создаются дочерние точки останова:

  1. Для встроенных функций, созданных несколько раз,
  2. Для шаблонных функций, созданных несколько раз,
  3. В статических библиотеках, которые связаны с несколькими DLL в отлаженном процессе [es],
  4. Всякий раз, когда отладчик чувствует себя скучно. Серьезно, большинство из них кажутся откровенно фальшивыми.
...