LLDB:是否可以显示来自 lldb 会话的图形?

LLDB: is it possible to display graphics from lldb session?

我想显示 LLDB 会话中的绘图,可以吗?

plt.figure()
plt.title('Test')
plt.imshow(array, cmap='gray')
plt.show()

现在,当我通过 "command script import ~/script.py";会话卡住了!

这在命令行 lldb 中工作正常(或者至少它对我有用...)

尝试与 Xcode 共享到 Window 服务器的连接时它不起作用(因为 lldb 在 Xcode 应用程序进程中是 运行)并不完全令人惊讶。执行 plt.figure() 似乎停滞不前,尽管我不是很清楚当您调用此方法时 Python 认为它在做什么。它没有在明显的地方停滞。

我不认为 lldb 与这种或那种方式有任何关系(特别是因为命令行 lldb 工作。)你更有可能通过询问 MatPlotLib 人员来弄清楚如何让它工作当 python 是嵌入式解释器时,如果他们有任何共享 GUI 的经验,尤其是在像 Xcode.

这样复杂的东西中

您还可以查看他们是否有任何方法调用进程外渲染器。这可能会解决生活在 Xcode.

内部的复杂性

我在 Xcode 中绘制自定义对象时遇到了类似的问题。调用 plt.plot() 时 lldb 会话崩溃。

我将 matplotlib 与 Agg 后端一起使用,并且能够在方便的位置绘制和保存生成的图。但是,您将无法使用 Agg 后端直接从 Xcode 中的 lldb 显示它们。

我的代码如下所示:

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np


plt.plot([1,2,3,4,5])
plt.title("Title")
plt.savefig("your/path")
plt.close()

希望对您有所帮助。