【发布时间】:2018-08-17 04:46:45
【问题描述】:
我正在尝试从 macOS 远程调试服务器端 swift。
lldb-server 在 macOS 上的 Docker 上的 Ubuntu 16.04 上运行。
我正在使用 swift-4.1-RELEASE 二进制文件。
root@031ab2443e1a:/var/vapor# lldb-server version
lldb version 5.0.0 (git@github.com:apple/swift-lldb.git revision 76dfa56ed35eaa392f7e51088c08f08f1150d142)
Swift-4.1 (revision f01501c324876fc07820dc28923d7088fb7af847)
clang revision cd84be6c4294f9ec302c20c63a601cbaeaa6a017
llvm revision cf364153438b3ac07a4a7d721159936e439ba2e7
我也在 macOS 上使用 swift-4.1-RELEASE 快照。
[omochi@omochi-iMac-PC43 ~]$ export TOOLCHAINS=org.swift.4120180329a
[omochi@omochi-iMac-PC43 ~]$ lldb -version
lldb-360.0.0 (buildbot 2018-03-29)
Swift-4.1 (revision f01501c324876fc07820dc28923d7088fb7af847)
clang revision cd84be6c4294f9ec302c20c63a601cbaeaa6a017
llvm revision cf364153438b3ac07a4a7d721159936e439ba2e7
我可以连接它们。
在服务器中。
root@031ab2443e1a:/var/vapor# lldb-server platform --listen "*:31166" --server
Connection established.
在 Mac 中。
[omochi@omochi-iMac-PC43 ~]$ lldb
(lldb) platform select remote-linux
Platform: remote-linux
Connected: no
(lldb) platform connect connect://127.0.0.1:31166
Platform: remote-linux
Triple: x86_64-*-linux-gnu
OS Version: 4.9.93 (4.9.93-linuxkit-aufs)
Kernel: #1 SMP Wed Jun 6 16:55:56 UTC 2018
Hostname: 031ab2443e1a
Connected: yes
WorkingDir: /var/vapor
(lldb) platform process list
6 matching processes were found on "remote-linux"
PID PARENT USER TRIPLE NAME
====== ====== ========== ======================== ============================
1 0 (null) x86_64-*-linux dash
291 1 x86_64-*-linux vapor
423 0 x86_64-*-linux bash
572 291 x86_64-*-linux Run
587 0 x86_64-*-linux bash
676 423 x86_64-*-linux lldb-server
但是,附加失败。
(lldb) attach 572
error: attach failed: Failed to connect port
我在 ubuntu 中测试了 lldb 以连接 lldb-server 本身。 然后附加成功。 所以我认为 lldb-server 可以正确运行以附加进程。
为什么从 macOS 附加失败? 如何解决这个问题。
【问题讨论】: