当源位于源服务器上时,在调试已编译的可执行文件时如何设置断点

时间:2019-01-16 15:08:49

标签: c# visual-studio debugging source-server

大家好,

我的问题是:

在Visual Studio 2017中调试二进制可执行文件时,如何在本地计算机上没有任何源的情况下设置断点?

设置:

  • 安装了Visual Studio 2017的Win 10 PC
  • git作为本地网络中的源存储库
  • TeamCity与Build Server也在同一局域网中
  • 在Visual Studio中将TemaCity设置为符号和源服务器

过程:

  1. 代码被写入本地计算机并提交到git存储库
  2. TeamCity由于提交而构建新的二进制文件
  3. TemaCity还会索引符号和源文件

问题:

现在,我想调试特定的二进制版本,看看出了什么问题。 我将二进制文件加载到Visual Studio中并在调试模式下运行它,当出现异常异常并且应用程序崩溃时,Visual Studio从TeamCity下载符号文件和源文件,并显示发生异常的正确位置。
因此,它按预期工作。

但是回到问题... ,当我想调查二进制文件不崩溃时正在做什么时,如何设置断点?

在上面的示例中,Visual Studio仅从源服务器下载一个源文件(抛出异常的文件)。 有没有一种方法可以在Visual Studio中浏览此特定版本的强制源以设置断点?

1 个答案:

答案 0 :(得分:0)

使用以下代码从代码中调用调试器:

  

Debugger.Launch();

只需将此语句放在您要破坏代码的位置即可。

请参见https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.debugger.launch?view=netframework-4.7.2