本篇博客是VisualStudio断点调试系列文章的一部分,在本篇文章里,咱们将展现函数断点在VS中的怎么样为你节省时间的特性。html
处理重载web
你想调试一个指定的函数,可是这个函数有一些重载。一个选择是找到全部的重载并分别设置断点。api
若是有不少重载,那么会很是消耗时间。另一个选择是使用函数断点。函数
在咱们的例子里(with code available to download),你想停在函数IsPrime()上,它有2个重载。post
首先咱们要去断点窗口里Debug->Windows->Breakpoints 建立一个断点,点击“new”debug
而后点击 “Break at Function…” 呼出一个新断点对话框。 你可能注意到也能够用快捷键Ctrl+B.调试
输入函数名“IsPrime” 而后点OK。这样它将会把咱们带到新的对话框,这里有全部匹配的方法函数,咱们能够快速的选择。能够经过点击All按钮来全选。code
如今我运行程序,能够命中这个断点在这个版本的调用的 IsPrime函数 。component
函数断点另一种有用小窍门是设置断点在不是现成的代码里。下面举个例子,咱们用C++实现(available for download)。这个例子使用ATL而后咱们想debug ATL代密码看看他们怎么工做。而ATL代码能够用,你不可能在你的IDE里打开它。即时你是这么作了,你大概须要一段去找在哪设置断点。server
你能够经过使用函数断点节省你一些时间。在这个例子里,我用CComPtr 与对象CObject1。设置断点在ATL里我用的函数上。同上呼出这个断点窗口。
若是我输入ATL::CComPtrBase<CObject1>::Attach函数名,我将设置断点在这个函数上。我也能够选择用通配符输入ATL::CComPtrBase<CObject1>::*来设置断点在全部匹配的函数上。当我这样作以后,这些断点出如今断点窗口,有三个。
如今我运行程序,我将会停在这些断点处,VS会把我带到正确的源代码位置上。