我们可以在确定它没有做任何其他事情的时候提供突破点。
在c中,那将是while(false);
在vb.net中可以做些什么?
答案 0 :(得分:11)
如果你总是需要它打破那里你可以放
Stop
或Debugger.Break()
答案 1 :(得分:2)
我的两分钱...
您可以使用冒号将任何一系列命令组合到一行:
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
答案 2 :(得分:1)
非常奇怪的问题,您可以在代码中的任何位置放置BreakPoint。但这里有一些无用的内容:
Do While False
Loop
While False
End While
即便如下:
Dim hello = Nothing
或者这个:
Format("", "")
答案 3 :(得分:1)
如果你真的想要一个No-Op出于某种原因(这可能会成为最无效的单行代码竞赛吗?!),这些怎么样?
System.Threading.Thread.Sleep(1)
- 1ms不太可能在循环之外产生巨大影响
Debug.Write("")
- 似乎没有输出任何内容。
答案 4 :(得分:1)
这是一个合法的用例。 当在感兴趣的语句之后需要临时断点并且这是if语句中的最后一行时,需要额外的no-op类型语句来放置临时断点。 在这种情况下,我使用:
If someCondition >0 Then
doSomething
Space (1) 'Dummy line to place breakpoint
End If
返回包含一个空格的字符串,但不将其分配给任何空格。我在VBA中使用它,但在.net
中也支持它答案 5 :(得分:1)
no-op语句还可以帮助很好地记录代码并使其更易于理解。例如,您可以输入A = A之类的语句。
例如:
如果MyNumber => 100,则A = A
其他:
答案 6 :(得分:1)
我知道这是一个旧查询,但是对于它的价值,我对原始问题的首选解决方案是
Debug.Assert (vbTrue)
如果需要,可以使用变量而不是vbTrue,然后通过更改一个变量来启用/禁用代码中的所有断点
Dim bDisableBreakpoints as Boolean: bDisableBreakpoints = vbTrue
'your code here
Debug.Assert (bDisableBreakpoints)
'rest of your code
只需将bDisableBreakpoints更改为vbFalse
,就可以在使用Debug.Assert的任何地方设置断点
答案 7 :(得分:0)
我个人最喜欢的是
dim b=1
然后我在此处放置一个断点。