gpt4 book ai didi

c# - Debugger.Launch 不工作

转载 作者:可可西里 更新时间:2023-11-01 08:19:14 24 4
gpt4 key购买 nike

我目前正在尝试为在外部(而不是从 visual studio 中)启动的进程启动调试器。我似乎无法真正启动调试器,因为它似乎什么也没发生。在此过程中,我添加了这段代码:

Debug.Assert(Debugger.IsAttached == false, "Should be no debugger");
if (!Debugger.IsAttached)
{
Debug.Assert(Debugger.Launch(), "Debugger not launched");
}
Debugger.Break();
Debug.Assert(Debugger.IsAttached == true, "Debugger should be attached");

断言是为了验证我没有疯。起初,IsAttached 属性如我所料返回 false。然后我调用 Debugger.Launch,它返回 true。根据 Debugger.Launch 的 MSDN 文档,它表示只有在成功启动调试器或已附加调试器时才会返回 true。我确认没有附加一个,所以它一定启动了一个。

断点永远不会命中,第二次验证失败(IsAttached 属性返回 false)。我还尝试在 Debugger.Launch 之后休眠以给它一些时间,但无济于事。

有什么建议吗?

最佳答案

我在 Visual Studio 2013 Premium 中遇到了同样的问题。 Ericanswer让我解决如何解决它。但您不需要更改寄存器。

  1. 转到工具 --> 选项 --> 调试
  2. 打开项目并选择即时调试器
  3. 如果你在 window 的低处看到一个黄色的关于其他调试正在使用不同于 Visual 的警告工作室。如果看到,请选中所有“及时”复选框以返回VS 作为调试程序。

就是这样!

Options Just in Time debugger

关于c# - Debugger.Launch 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12655965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com