4

他に何もしないことを確認しながら、ブレークポイントを設定できるもの。

cでは、それはwhile(false);になります。

vb.netで何をしますか?

4

8 に答える 8

10

あなたがいつもそこを壊すためにそれを必要とするならば、あなたは置くことができます StopまたはDebugger.Break()

于 2013-02-24T14:57:52.577 に答える
2

これには正当なユースケースがあります。対象のステートメントの後に一時的なブレークポイントが必要であり、これがifステートメント内の最後の行である場合、一時的なブレークポイントを配置するために追加のno-opタイプのステートメントが必要です。この場合、私は以下を使用します:

If someCondition >0 Then

    doSomething
    Space (1)    'Dummy line to place breakpoint
End If

これにより、1つのスペースを含む文字列が返されますが、何にも割り当てられません。VBAで使用していますが、.netでもサポートされています

于 2017-11-09T14:41:09.737 に答える
2

私の2セント...

一連のコマンドをコロンを使用して1行に組み合わせることができます。

If False Then : End If
Select Case False : Case Else : End Select

私もサブにしました。次に、認識可能な独自の名前を取得します。

'Definition...
Public Sub noop () 'Or Private, Protected, etc.
End Sub

'Usage...
Sub Main()
    If sometest Then
        noop
    Else
        MsgBox "test is false"
    End If
End Sub
于 2020-01-09T19:03:50.700 に答える
1

非常に奇妙な質問ですが、コード内のどこにでもブレークポイントを配置できます。しかし、ここにいくつかの役に立たない行があります:

 Do While False
 Loop

 While False
 End While

次でも:

 Dim hello = Nothing

またはこれ:

 Format("", "")
于 2013-02-24T12:59:29.520 に答える
1

なんらかの理由で本当にノーオペレーションが必要な場合(これは、最も効果のない1行のコードのコンテストになる可能性がありますか?!)、これらはどうですか?

System.Threading.Thread.Sleep(1)-1msがループの外側に大きな影響を与える可能性は低いです

Debug.Write("")-何も出力されていないようです。

于 2014-07-02T08:48:03.833 に答える
1

no-opステートメントは、コードを適切に文書化し、理解しやすくするための補助としても役立ちます。たとえば、A=Aのようなステートメントを入れることができます。

例えば:

MyNumber => 100の場合、A = A
その他:

于 2019-09-26T09:42:54.030 に答える
1

私はこれが古いクエリであることを知っていますが、それが価値があるものについては、元の質問に対する私の好ましい解決策は Debug.Assert (vbTrue)

必要に応じて、vbTrueの代わりに変数を使用し、1つの変数を変更して、コード内のすべてのブレークポイントを有効/無効にすることができます。

Dim bDisableBreakpoints as Boolean: bDisableBreakpoints = vbTrue
'your code here
Debug.Assert (bDisableBreakpoints)
'rest of your code

bDisableBreakpointsをに変更するだけvbFalseで、Debug.Assertを使用した場所にブレークポイントが設定されます。

于 2020-10-08T12:03:14.977 に答える
0

私の個人的なお気に入りは

dim b=1

次に、そこにブレークポイントを設定します。

于 2020-10-08T13:56:30.933 に答える