Bagaimana cara debug .app yang hanya berhasil diluncurkan dari Terminal?

2

Baru-baru ini, Dropbox.app saya berhenti diluncurkan dengan benar. Jika saya mengklik dua kali pada aplikasi atau mencoba meluncurkan melalui sorotan, aplikasi hanya mati dalam hitungan detik. Saya melihatnya muncul di Activity Monitor, tetapi tidak ada pesan yang dicetak jika saya menonton Konsol. Tidak ada dialog peringatan atau kesalahan.

Jika saya menggunakan Terminal untuk mengeluarkan sesuatu seperti:

open Dropbox.app

maka itu berjalan dengan benar.

Saya menduga lingkungan peluncuran saya kacau (mungkin python?). Tapi saya tidak tahu cara men-debug ini karena Konsol tidak mengungkapkan apa pun.

Apa saja langkah-langkah untuk men-debug aplikasi yang mati secara diam-diam?

Apakah ada cara sistematis untuk mengaktifkan semua preferensi lingkungan yang menyebabkan Dropbox.app terbuka agar berhasil dari Terminal?

Alec Jacobson
sumber
harap edit pertanyaan Anda alih-alih menambahkan komentar.
At0mic

Jawaban:

1

Anda bisa mulai dengan melacak executable:

% sudo dtruss /Applications/Dropbox.app/Contents/MacOS/Dropbox

Mungkin memuat python yang salah, dll. Kadang-kadang jejak akan memberi Anda petunjuk tentang di mana aplikasi Anda mogok, esp. jika Anda hanya memiliki executable.

Anda juga dapat melihat bagaimana executable itu ditautkan, mungkin itu menemukan versi perpustakaan yang salah (ldd di linux, otool on osx):

% otool -TVLrH /Applications/Dropbox.app/Contents/MacOS/Dropbox
Chris McAfee
sumber