Ich habe eine ziemlich lange Setup, dann drei Fragen am Ende. Unter OS X enthält das System-Python-Framework drei ausführbaren Dateien (lassen Sie mich ihnen kurze Namen geben):Tracing miteinander verbundenen Python-Programmdateien auf OS X
> F=/System/Library/Frameworks/Python.framework/Versions/2.6
> A=$F/bin/python2.6
> B=$F/Resources/Python.app/Contents/MacOS/Python
> C=$F/Python
$ A und B $ sind eindeutig zu klein Python selbst zu sein.
> ls -s $A; ls -s $B; ls -s $C
16 /System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6
16 /System/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python
3152 /System/Library/Frameworks/Python.framework/Versions/2.6/Python
> $A
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
> $B
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
> $C
-bash: /System/Library/Frameworks/Python.framework/Versions/2.6/Python: cannot execute binary file
Trotz gleicher Größe und offenbar Wirkung, sind die ersten zwei verschiedene, zum Beispiel:
> cmp -lc $A $B
Auch in/usr/bin, python2.6 ist ein symbolischer Link auf $ C, aber es ist auch:
> D=/usr/bin/python
> ls -s $D
48 /usr/bin/python
Ich möchte herausfinden, wie diese verbunden sind; der Befehl which
hilft nicht.
> export DYLD_PRINT_LIBRARIES=1
> $A
..
dyld: loaded: /System/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python
dyld: loaded: /System/Library/Frameworks/Python.framework/Versions/2.6/Python
Zusammenfassung: $ A lädt $ B gefolgt von $ C; $ B lädt $ C; $ D Lasten $ B, gefolgt von $ C
Also meine Fragen sind:
- Ist das irgendwo dokumentiert?
- Welche Rollen spielen diese?
- Am wichtigsten, welche Werkzeuge wären nützlich, solche Verbindungen zu verfolgen?
Wie ist es wichtig? Welches Problem hast du? Ohne Kontext - etwas, das Sie nicht tun können - das scheint, als ob die Ergebnisse niemandem helfen, etwas zu tun. –
@ S.Lott: Ich würde gerne verstehen, wie dieses Setup funktioniert. Selbst wenn Sie denken, dass das keine angemessene Frage ist, ist # 3 immer noch. Ich habe nm weggelassen, was zeigt, dass $ A und $ B nicht viel bewirken, aber Datei hilft nicht wirklich. Ich kann mit Antwort # 1 leben, aber ich hoffe auf spezifischere Tools. – telliott99
spezifischere Werkzeuge, um was zu tun? - Unix ist eine Reihe von Tools, die zusammenarbeiten – Mark