您提到的C#特性被稱爲「只是我的代碼」。不幸的是,Visual Studio沒有以相同的方式爲C++實現它。作爲documentation說:
C++僅我的代碼比.NET框架和JavaScript就 我的代碼不同,因爲步進行爲是獨立的調用堆棧 行爲。
有一種變通方法,但是:
您可以創建自己的.natstepfilter
和.natjmc
定製 步進,並呼籲在%USERPROFILE%\My Documents\Visual Studio 2015\Visualizers
堆棧窗口行爲。
儘管文檔中存在拼寫錯誤(「2015」)以及這種設計的可怕方式,但這個技巧實際上起作用了!
例如,我的機器上的Visual Studio 2017年安裝的,我可以去C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Packages\Debugger\Visualizers
和附加文件名爲.natstepfilter
,內容如下:
<?xml version="1.0" encoding="utf-8"?>
<StepFilter xmlns="http://schemas.microsoft.com/vstudio/debugger/natstepfilter/2010">
<Function>
<Name>std::.*</Name>
<Action>NoStepInto</Action>
</Function>
</StepFilter>
現在,當我在Visual Studio和步調試進入的東西,所有的C++標準庫函數都會被跳過。
請注意,XML文件的實際格式未經Visual Studio嚴格驗證。我實際上使用了在Visual Studio 2015 documentation中解釋的更簡單的形式。
怎麼樣不按「步入」,而是按「步過」? – mcsim
當你按下「step into」你*進入* std :: string'構造函數。就像「步入」是*假設*做的。 –
然後它遍歷我的功能,我希望它進入我的功能,但只是我的功能,例如在 p0-> fork(「p1」); 它會進入xstring,我希望它能夠進入我實現的Process fork函數。 –