【问题标题】:Roslyn: Given a source location/line, how to figure out if - and where - breakpoint can be setRoslyn:给定一个源位置/行,如何确定是否可以设置断点以及在何处设置断点
【发布时间】:2017-05-26 09:27:26
【问题描述】:

我正在使用 Roslyn 编写代码编辑器,并使用 MDbg 进行调试。

在编辑器中,我的目标是使用类似于 Visual Studio 的行为来设置断点。也就是说,用户可以点击一行,我需要弄清楚

  1. 这是我可以实际设置断点的源位置吗?
  2. 如果是,应该在哪一行设置断点?

例如,假设用户有一个像这样的文档:

line 01:  using System;
line 02: 
line 03:  public class SomeClass
line 04:  {
line 05:   public string someMethod()
line 06:   {
line 07:     return @"
line 08:       abcdefg
line 09:     ";
line 10:   }
line 11:  }

单击第 1 行时,什么都不会发生 - 不能真正在 using 语句上设置断点。

单击第 3 行时,应在第 4 行设置断点(不能在方法定义本身上设置断点,而是在方法执行开始的开始大括号标记处设置断点。

当点击第7、8、9行时,应该在第7行设置断点,因为这只是一个语句。

说实话,目前我什至根本不知道如何解决这个问题.. 有人能指点如何在概念上解决这个问题吗? 我希望 Roslyn 可能有一些有用的辅助方法,但我在其与断点相关的源代码中没有找到太多

重复一遍,我认为基本问题归结为弄清楚

  1. 代码中的某一行是我可以实际设置断点的位置吗?
  2. 如果是,应该在哪一行设置断点?

谢谢!

【问题讨论】:

  • 这似乎完全符合您的需要:source.roslyn.io/…
  • 太棒了!绝对是,谢谢!随时将此作为回复发布,我会将其标记为答案

标签: c# debugging roslyn mdbg


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-15
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 2012-08-31
  • 2010-10-19
  • 1970-01-01
相关资源
最近更新 更多