在VStudio中对断点进行分组管理

由于在工程的调试中,积累了了很多的断点。而每次调试之中,只有一部分的断点是和当前调试相关的,希望能把其他的无关断点disable掉。

而如果每次都要断点窗口去一一勾选,效率并不高。所以产生了将断点进行分组管理的想法,这样可以一次性的enable/disable一组或多组断点。

 

本文通过编写宏来对断点进行分组标记(Tag), 分组Disable和分组Enable的操作。


假设:

断点是以过程划分的,比如在以下toy project中,代码可分为Initailize->DoSomething->Cleanup三部分,

相应的代码中的6个断点也分为三组: 我们将其分成group1, group2, group3。

 

下面编写三个宏,

第一个给同组的断点打上标记 TagEnabledBreadpoints, 能将当前所有处于Enable状态的断点打上识别标记tag

第二个将一组断点enable, EnableTaggedBreakPoints, 能将有某个tag的一组断点enable

第三个将一组断点disable, DisableTaggedBreakPoints, 能将有某个tag的一组断点disable

打开Macro IDE (Tools -> Macro -> Macro IDE), 在MyMacro下的Module1中加入以下三个宏(代码在本文最后)。如下图

 

现在就可以将上述的6个断点分成三组了。

将代码中Initialize部分的2个断点enable,其余的4个断点disable,然后在命令窗口中运行TagEnabledBreakpoints宏,将它们编入group1:

>Macros.MyMacros.Module1.TagEnabledBreakPoints group1

然后把这两个断点disable, 将DoSomething中的两个断点Enable, 将它们编入group2://注意,是disable, 不是remove,如果将一个断点remove掉那么其标记tag也随即丢失

>Macros.MyMacros.Module1.TagEnabledBreakPoints group2

用同样的方法把Cleanup中的2个断点编入group3.


现在这3组断点已经可以通过运行EnableTaggedBreakpoints和DisableTaggedBreakpoints来操作了。

如将group1断点Enable,

>Macros.MyMacros.Module1.EnableTaggedBreakPoints group1

将group1断点disable, 在将group2, group3 enable

>Macros.MyMacros.Module1.DisableTaggedBreakPoints group1

>Macros.MyMacros.Module1.EnableTaggedBreakPoints group2

>Macros.MyMacros.Module1.EnableTaggedBreakPoints group3


 

Reference:

http://blogs.msdn.com/jimgries/archive/2004/01/28/64153.aspx

Macros snippets:

 

Code

posted @ 2008-11-25 22:48  kennyzx  阅读(1699)  评论(7编辑  收藏  举报