What is the meaning of the square/diamond breakpoint in Visual Studio?

square breakpoint you mention is Breakpoint actions and tracepoints.

According to docs.microsoft.com debugger using breakpoint

A tracepoint is a breakpoint that prints a message to the Output window. A tracepoint can act like a temporary trace statement in the programming language.

You can change the breakpoint setting by click on setting button near breakpoint by moving cursor to breakpoint.


It means execution will not break at that breakpoint, but only a message will be output in the debugging log.

To change this, right click on the breakpoint and choose "Settings" (In older VS Version) or "Actions" (starting with VS 2017).

enter image description here

See this question for why this is useful:

  • What are tracepoints used for?