为什么在 visual studio 2015 年按 CTRL+F5 构建项目时我的断点没有命中?

Why my break point don't hit when i built my project by pressing CTRL+F5 in visual studio 2015?

我想知道当我按 CTRL+F5 构建我的项目时,它永远不会达到我设置的断点在代码中,但是当我通过单击 LOCAL WINDOWS DEBUGGER 构建我的项目时,它会遇到代码中设置的断点?

我在网上搜索了一下,我发现这是因为当我们通过点击 LOCAL WINDOWS DEBUGGER 构建项目时,visual studio 将调试器附加到我们构建的程序中。

以下是我的问题:

1.为什么他们之间有区别?
2。 visual studio 如何将调试器附加到项目?

你的 Ctrl+F5 可能映射到 "Start without Debugging" 所以它不附加调试器,只执行你的代码.

why there is difference between them

顾名思义,一个附加调试器,另一个不附加

How exactly this debugger is attached to project by visual studio.

可能想看看: How does debugging work in Visual Studio?

按下 Ctrl + F5,您要求 Visual Studio 到 运行 没有调试器的应用程序附加("Start Without Debugging")而 LOCAL WINDOWS DEBUGGER 运行 是附加了调试器的应用程序。

Why is there a difference between them ?

我们拥有它的原因是因为它允许我们在软件开发领域做两件不同的事情。假设我正在开发一个应用程序,我 运行 遇到各种异常,我该如何解决它?

我调试我的代码,找出我的混乱中发生了什么,然后对我的问题进行根本原因分析。

是什么让我做到了?

附加调试器时!附加调试器时,它允许您在代码中设置断点,以便更好地理解代码在 运行-时间。最重要的是,当我们使用 Watch 等功能时,它可以帮助我们,将鼠标悬停在变量上以在 运行 时间内观察或编辑它的值。所有这一切只有在调试器附加到 运行ning 应用程序时才有可能。

那么,当我们 运行 它没有调试器时会发生什么?

简单,它不附加调试器。当您对代码 运行 给出的最终产品而不是它遇到的中间步骤和场景更感兴趣时,您会 select 这个选项。

How is the debugger attached to project by visual studio ?

老实说,我不确定。我猜你可以参考 user1451348 的回答。