我正在测试Visual Studio C#程序,主要是在带有断点的调试模式下。有时我需要构建发行版.exe来运行一些测试,然后再回到调试模式下进行测试。
在我构建发布版本之前,我没有删除断点。有没有理由删除断点?有什么东西可以延续到发行版exe吗?我没有看到任何东西,但我只想确定。
谢谢!
答案 0 :(得分:3)
回到过去,你可以在exe和dll文件的二进制代码中有一个INT 3
机器指令,这是断点的汇编定义,并且(并且仍会)导致进入一个调试器。没有.NET编译器/链接器那样做。实际上,它不能 - 因为托管的exe文件包含即时编译的IL
在.NET中,特别是在Microsoft环境中,断点是IDE的一个特性
运行时,永远不会以二进制文件结束。
可以在此处找到管理断点机制的旧的,但详尽的写法:https://blogs.msdn.microsoft.com/jmstall/2004/12/28/how-do-managed-breakpoints-work/
断点存储在VS解决方案的配置文件中只是为了方便(因此开发人员不会丢失Visual Studio会话之间的断点)。
相反,如果使用或配置不正确,Debug.Assert
调用 会导致版本构建受损。