Visual Studio Breakpoints窗口:TreeView显示什么?

时间:2010-08-11 08:41:56

标签: visual-studio breakpoints

通常在Visual Studio中使用断点时(本例中为2008),我只看到一个平面列表。有时候,我会得到每个断点的树视图,如下所示(扩展节点有26个子节点)。所有树节点都引用相同的代码行,并且所有可选列都为每个节点显示相同的数据。我猜他们可能与线程有关,但这些是什么用途,它们实际显示了什么?如果它们有一些用处,你应该如何区分它们呢?

Breakpoints window http://www.freeimagehosting.net/uploads/2244242173.png

2 个答案:

答案 0 :(得分:4)

就我而言,它似乎与正在调试的进程中的AppDomains有关。如果我将WinDbg附加到进程,加载SOS.dll并运行!DumpDomain,我可以看到26个AppDomains,对应于问题中的26个树节点。如果Breakpoints窗口中有一列可以区分这些列,那就太好了!

答案 1 :(得分:3)

这些被称为子断点,文档稀疏(12)并且通常都是错误的。

根据经验,对于本机代码,会形成子断点:

  1. 对于内联函数,多次实例化,
  2. 对于模板函数,多次实例化,
  3. 在调试过程[es],
  4. 中链接多个DLL的静态库中
  5. 每当调试引擎感到无聊时。说真的,他们中的大多数似乎都是彻头彻尾的伪造。