【问题标题】:How to stop and run Vapor again in Xcode?如何在 Xcode 中再次停止并运行 Vapor?
【发布时间】:2021-08-13 18:03:13
【问题描述】:

我已经按照Vapor tutorial 创建了一个 hello 应用。在 Xcode 中,当我在 Mac 上运行 Run 方案时,应用程序启动并运行,正如我通过打开 http://localhost:8080/ 所看到的那样。在对代码进行一些更改后,我停止了 Run 方案,我希望 Vapor 服务器会关闭。但是,它会继续处理请求。

Message from debugger: The LLDB RPC server has exited unexpectedly. Please file a bug if you have reproducible steps.
Program ended with exit code: -1

显然,当我进行一些更改并再次运行 Run 方案时,我收到以下运行时错误:

Swift/ErrorType.swift:200: Fatal error: Error raised at top level: bind(descriptor:ptr:bytes:) failed: Address already in use (errno: 48)
Program ended with exit code: 9

如何停止或重新启动服务器?

【问题讨论】:

  • 我还没有弄清楚为什么它不会停止或如何在 Xcode 中可靠地停止它。但是,打开终端窗口并执行“pkill Run”会停止它。

标签: vapor


【解决方案1】:

这是 Xcode/LLDB 长期存在的问题。您有几个选择:

  • 附加到进程并通过 Xcode 停止它
  • 运行killall Run
  • 运行lsof -i :8080 以查找连接到端口8080 的进程,然后运行kill <process_id>(如果您同时运行多个应用程序并且只想终止孤立的应用程序,这很有用)

【讨论】:

    【解决方案2】:

    这很令人沮丧,老实说我不知道​​为什么会发生这种情况,但我会执行以下操作来终止进程:

    在 Xcode 中,

    • 转到Debug -> Attach to Process
    • 在子菜单的最顶部是:Likley targets 部分,其中有一个条目Run (nnnn)它将有一个终端应用程序的图标
    • 点击附加
    • 然后以通常的方式停止 Xcode Run。

    出于兴趣,下次您运行 steam 应用程序时,如果您打开 Debug Navigator,您将在顶部看到带有 Run PID nnnn 的终端图标.其中 nnnn 是 PID。如果你再次转到Debug -> Attach to Process,你可以像以前一样在子菜单的顶部看到这个。但是您将无法附加到它,因为它已经在调试中。

    希望这对您或将来的某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-10
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      • 2013-01-13
      • 2021-09-10
      • 2018-07-26
      • 1970-01-01
      相关资源
      最近更新 更多