Supponendo che SQLite sia collegato dinamicamente all'applicazione in esecuzione, puoi trovare la variabile di ambiente PATH
utilizzando il comando ps
.
In alternativa, utilizza Monitoraggio attività per visualizzare Apri file e porte dell'applicazione. È quindi possibile cercare l'output per vedere se la libreria viene mantenuta aperta dal processo.
Percorso: utilizza ps
PATH
fa parte delle variabili di ambiente di un processo. Se riesci a vederli, troverai PATH
.
Utilizza lo strumento ps
con i flag -wwwE
su macOS per visualizzare le variabili di ambiente passate a un processo:
ps -p <PID> -wwwE
Vedi Variabili d'ambiente di un processo in esecuzione su Unix?
Esempio
Di seguito è riportato un esempio di output dall'esecuzione di questo comando sull'applicazione grafica Xcode per Mac:
ps -p 1648 -wwwE
PID TTY TIME CMD
1648 ?? 0:03.46 /Applications/Xcode.app/Contents/MacOS/Xcode TMPDIR=/var/folders/b2/[redacted]n/T/ __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x2 HOME=[redacted] SHELL=/bin/bash Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.[redacted]/Render SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.[redacted]/Listeners PATH=/usr/bin:/bin:/usr/sbin:/sbin LOGNAME=[redacted] DISPLAY=/private/tmp/com.apple.launchd.[redacted]/org.macosforge.xquartz:0 XPC_SERVICE_NAME=com.apple.dt.Xcode.64852 MallocNanoZone=0 USER=[redacted] XPC_FLAGS=0x1
Come indicato da Mark in un commento qui sotto, questo potrebbe non mostrare la libreria collegata.
Informazioni sulla libreria collegata - Utilizza otool
Come altra alternativa, prova otool
per estrarre il framework collegato e le informazioni sulla libreria. Il comando da eseguire è:
otool -L <path to binary>
Usando Xcode.app come esempio, il comando e l'output sono:
$ otool -L /Applications/Xcode.app/Contents/MacOS/Xcode
/Applications/Xcode.app/Contents/MacOS/Xcode:
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
@rpath/DVTFoundation.framework/Versions/A/DVTFoundation (compatibility version 1.0.0, current version 1.0.0)
@rpath/DVTKit.framework/Versions/A/DVTKit (compatibility version 1.0.0, current version 1.0.0)
@rpath/IDEFoundation.framework/Versions/A/IDEFoundation (compatibility version 1.0.0, current version 14154.0.0)
@rpath/IDEKit.framework/Versions/A/IDEKit (compatibility version 1.0.0, current version 14154.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1452.20.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1561.40.104)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1452.20.0)
@rpath/libswiftAVFoundation.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftCore.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftCoreAudio.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftCoreFoundation.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftCoreGraphics.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftCoreImage.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftCoreMedia.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftDarwin.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftDispatch.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftFoundation.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftIOKit.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftMetal.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftObjectiveC.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftQuartzCore.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftXPC.dylib (compatibility version 1.0.0, current version 902.0.48)
@rpath/libswiftsimd.dylib (compatibility version 1.0.0, current version 902.0.48)
Relinking
Ricollegare un binario non è consigliabile ma apparentemente possibile. Vedi Come copiare (e ricollegare) i binari su OSX usando otool e install_name_tool per istruzioni dettagliate.