Acesse um Swift REPL em programas de cacau
Posso anexar o LLDB a um programa escrito em Swift e acessar o REPL, no Xcode ou executando:
lldb -n ProcessName
(lldb) repl
1>
No entanto, se eu anexar o LLDB a um processo que não tenha o tempo de execução Swift, o REPL não será muito útil. Por exemplo:
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
Alguma idéia de como carregar o tempo de execução Swift em um processo que ainda não está vinculado a ele? Essa poderia ser uma alternativa muito útil para, por exemplo, injetando F-Script.