【问题标题】:How to debug LinqPad query in Visual Studio Debugger?如何在 Visual Studio 调试器中调试 LinqPad 查询?
【发布时间】:2011-04-06 09:43:39
【问题描述】:

我可以附加调试器并让它中断 - 但它很难找到 .cs 文件,我认为 LinqPad 将其作为其构建的一部分删除.. 8-(

【问题讨论】:

  • 请注意,在提出这个问题后,Linqpad 推出了新的高级版 Linqpad,其中包括自己的调试器。

标签: visual-studio debugging linqpad


【解决方案1】:

如果你打电话

Debugger.Launch();
Debugger.Break(); 

要在您的 LINQPad 脚本中启动断点,LINQPad 会猜测您想使用 VS 来调试您的脚本并且不会删除 .cs 文件。

【讨论】:

  • 我刚刚又使用了一个像这样的 C# 程序 'code'void Main() { Debugger.Launch();诠释 i = 0;调试器.Break(); i.转储(); }'code' VS 启动找不到代码。但是然后再次从 LP 运行,VS 然后找到 .cs 文件....
  • 我遇到了这个问题,然后意识到我正在尝试将 VS 2008 调试器附加到 LINQPad.exe;它必须是支持 .NET 4+ 的 VS 版本(例如 VS 2012)。
【解决方案2】:
  • 启动 LINQPad
  • 在 VS 中,打开 Debug -> Attach to Process...
  • 选择 LINQPad.exe
  • 在由 LINQPad C# 代码调用的代码中设置断点,或在 LINQPad 脚本中您希望调试器停止的地方编写 Debugger.Break()。
  • 从 LINQPad 执行脚本并观察奇迹。

【讨论】:

  • 您应该在调用 Debugger.Break() 之前检查 Debugger.IsAttached 属性。
【解决方案3】:

如果您的 LINQPad 代码正在调用某个引用的 C# 程序集中的方法,并且您想在 Visual Studio 2015 中调试该程序集,这对我有用:

  1. 构建您的解决方案。
  2. (可选)运行您的 LINQPad 脚本,让它崩溃等。在右下方的 LINQPad 状态栏中,注意淡蓝色的 PID。
  3. 在 VS 中,CTRL + ALT + P 附加到进程。使用您看到的 PID 附加到 LINQPad UserQuery 进程。
  4. 在 VS 中在这里放置断点。
  5. 运行 linqpad 查询并弹出到 VS。你应该打断点!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 2012-05-02
    • 1970-01-01
    相关资源
    最近更新 更多