2

デバッグ中に F11 を頻繁に押して、関数にステップインします。このプロジェクトでは、変数を設定したかどうかをチェックし、設定していない場合はアサートする単純な RAII ラッパーであるプロパティをどこでも使用します。役に立ちました。

ただし、F11 がプロパティにステップインするため、デバッグが面倒です。なんとかスキップできますか?属性、キーワード、または何かを書くことによって?

私はVS11betaを使用しています

4

1 に答える 1

3

マネージ コードを扱う場合、これは非常に簡単に設定できます。関数をDebuggerHiddenAttributeクラスで手動でマークしたり、「プロパティと演算子をステップ オーバーする」などの組み込みデバッガー設定を有効にしたりすることもできます。

残念ながら、特定の関数の自動ステップ オーバーは、Visual Studio のネイティブ C++ コードではサポートされていません。(少なくとも、VS 2010 まではサポートされていませんでした。VS 11 で遊んで、これが私たちの色をすべて盗んだという事実を補うために提供されたものかどうかを確認するのに十分な時間はありませんでした。)

ただし、かなり前に Andy Pennell のブログで文書化された回避策があります: How to
Not Step Into Functions using the Visual C++ Debugger

基本的に、次のレジストリ キーを編集します (VS 2010 の場合)。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\NativeDE\StepOver

または 64 ビット アプリケーションの場合:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\NativeDE\StepOver

デバッガーによって関数と照合される正規表現を指定します。

たとえば、デバッガーがオーバーロードされた演算子にステップインしないようにする場合は、次の式を使用できます。

\scope:operator\oper:=NoStepInto

ブログ投稿の免責事項には次のように記載されています。

これは文書化された機能ではありません。明らかに、あなたはこの「ドキュメント」をここで読んでいますが、私が言いたいのは、Microsoft によってサポートされているわけではなく、公式にテストされていないため、動作が保証されていないということです。将来のバージョンまたは現在のバージョンへの更新での存在は保証されません。

于 2012-04-17T19:50:08.647 に答える