C# - 附加调试器失败后如何继续 - System.Diagnostics.Debugger.Launch()

标签 c# debugging

我通过将“-d”作为命令行参数传递给我的控制台应用程序来附加调试器。这会导致调用以下代码;

bool attachedDebugger = false;
try
{
   attachedDebugger = System.Diagnostics.Debugger.Launch();
}
catch (Exception) { }
finally
{
   Console.WriteLine(attachedDebugger ? "Debugger Attached" : "Failed to attach debugger");
}

弹出 Visual Studio 2010 JIT 窗口后,我有时会改变主意,不想调试,所以我会关闭该对话框。如果我不附加一个,那么应用程序会立即退出,而不会向控制台写入任何内容。

我知道这有点边缘用例,如果我不想调试,我应该从命令行中删除“-d”。我提出问题的原因是我希望了解正在发生的事情。

我认为 finally block 总是被调用,此外,如果我们未能附加调试器,我希望我的应用程序能够继续。

  • 为什么控制台没有打印任何内容 如果我拒绝附加调试器?
  • 是否调用 Debugger.Launch() System.Exit 附加失败?

编辑 谢谢@Moo-Juice 我现在知道 false 的返回值意味着已经附加了调试器,但上述问题仍未解决。

最佳答案

关于C# - 附加调试器失败后如何继续 - System.Diagnostics.Debugger.Launch(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4224163/

相关文章:

c# - asp.net core 问题添加第一个数据库迁移

php - PHP 异常/错误处理库

java - 在 Eclipse 中调试全屏应用程序

c# - 没有装箱的 Marshal.StructureToPtr

javascript - 为什么 JavaScript 函数没有被调用?

c# - C#中的堆排序对大型数组进行排序

java - 有没有办法从 Intellij 的调试器中过滤嘈杂的堆栈帧?

c# - 为瓷砖世界生成随机 map

java - 使用 GraalVM CE 进行 native 二进制调试

c# - 在visual studio 2010中调试源代码时给出警告