Please see my comment to the question. See also:
http://www.cplusplus.com/reference/cassert/assert[
^],
http://stackoverflow.com/questions/5354314/how-to-completely-disable-assertion[
^].
As the the "Debug", this is just one of configurations, and the configuration is the part of the standard for MSBuild projects. You usually get a configuration from a project template, but you can always modify any configuration-specific properties, can remove some configurations, create your own, and so forth. In this aspects, "Debug" is just a name.
Any questions?
—SA