Greifen Sie in Cocoa-Programmen auf eine schnelle REPL zu
Ich kann LLDB an ein in Swift geschriebenes Programm anhängen und auf die REPL zugreifen, entweder über Xcode oder durch Ausführen von:
lldb -n ProcessName
(lldb) repl
1>
Wenn ich jedoch LLDB an einen Prozess anhänge, der nicht über die Swift-Laufzeit verfügt, ist die REPL nicht sehr nützlich. Zum Beispiel:
lldb -n Finder
Process 218 stopped
Executable module set to "/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder".
Architecture set to: x86_64-apple-macosx.
(lldb) repl
1> import Cocoa
error: Couldn't lookup symbols:
__swift_FORCE_LOAD_$_swiftAppKit
__swift_FORCE_LOAD_$_swiftCoreGraphics
__swift_FORCE_LOAD_$_swiftObjectiveC
__swift_FORCE_LOAD_$_swiftDispatch
__swift_FORCE_LOAD_$_swiftDarwin
__swift_FORCE_LOAD_$_swiftFoundation
Haben Sie eine Idee, wie Sie die Swift-Laufzeit in einen Prozess laden können, der noch nicht damit verknüpft ist? Dies könnte eine sehr nützliche Alternative zu z.B. Injizieren von F-Script.