步入時如何跳過VS 2008調試器中的公共類?如何在加入時跳過VS 2008中的公共類?
例如,我不希望調試器步入任何std :: classes。 我該如何做到這一點?
我發現在VS 2005中這樣做的方法和更早版本,而不是2008年
步入時如何跳過VS 2008調試器中的公共類?如何在加入時跳過VS 2008中的公共類?
例如,我不希望調試器步入任何std :: classes。 我該如何做到這一點?
我發現在VS 2005中這樣做的方法和更早版本,而不是2008年
爲此,您可以通過輸入項帶入到t他註冊(我知道,它很糟糕)。您正在尋找的密鑰從32位到64位不等。對於32位系統的關鍵是
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\NativeDE\StepOver
如果您運行的是64位操作系統和32位Visual Studio中的關鍵是
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\NativeDE\StepOver
的Wow6432Node關鍵是key present for 32 bit applications running on 64 bit systems 。 (旁註:在註冊表中搜索「_RTC_CheckEsp」可能會使您找到正確的位置,這是Visual Studio 9中的默認條目)
語法應該對您很熟悉,但作爲示例,字符串值boost::.*=NoStepInto
這將避免調試器進入Boost。有關其他示例,請參閱http://www.cprogramming.com/debugging/visual-studio-msvc-debugging-NoStepInto.html。
希望這有助於:)
從http://www.highprogrammer.com/alan/windev/visualstudio.html摘自:
避免步入事情
常常是有用的,以避免踏進一些常見的代碼,如構造函數或重載操作符。 autoexp.dat提供此功能。添加一個名爲「[ExecutionControl]」的部分。添加鍵是功能名稱的鍵,值是「NoStepInto」。您可以指定一個星號(*)作爲通配符,作爲命名空間或類的第一組冒號。
autoexp.dat僅在Visual Studio啓動時讀取。
要忽略功能myfunctionname,並以一流的Cfoo的所有呼叫:
[ExecutionControl]
myfunctionname=NoStepInto
CFoo::*=NoStepInto
要忽略MFC CStrings的建設和分配:(注意額外=在CString的::運算符=)。
[ExecutionControl]
CString::CString=NoStepInto
CString::operator==NoStepInto
要忽略所有的ATL電話:
[ExecutionControl]
ATL::*=NoStepInto
每次調試器啓動時都會解析autoexp.dat。 – 2010-01-14 08:30:28
我已經看過這個頁面,只是試了一遍。它不起作用,下面是我發現的: 現在,它曾經是爲了實現您在autoexp.dat中使用[ExecutionControl]部分,並且似乎它被廣泛認爲仍然存在。然而,自2003年(!)這些設置的主頁是註冊表。 但是我沒有看到註冊表鍵,因此沒有類似於2005年的HKLM \ Software \ Microsoft \ VisualStudio \ 8。0 \ NativeDE \ StepOver:-S – BarsMonster 2010-01-14 08:31:04
謝謝,這正是需要的。 使用此std \:\:。* = NoStepInto來跳過所有STL的東西:-) – BarsMonster 2010-01-14 09:09:47
不應該是.... \ VisualStudio \ 9.0 \ ...爲VS2008嗎? (8.0是VS2005不是嗎?) – AAT 2010-01-14 11:05:01
@AAT Thx。修正了錯誤 – larsmoa 2010-01-14 11:59:57