Saya telah menetapkan breakpoint tetapi Xcode tampaknya mengabaikannya.
xcode
breakpoints
AlanKley
sumber
sumber
Jawaban:
Pertama-tama, saya setuju 100% dengan orang-orang sebelumnya yang mengatakan MATIKAN
Load Symbols Lazily
.Saya memiliki dua hal lagi untuk ditambahkan.
(Saran pertama saya terdengar jelas, tetapi pertama kali seseorang menyarankannya kepada saya, reaksi saya berjalan seperti ini: "ayolah, tolong, Anda benar-benar berpikir saya tidak akan tahu lebih baik ...... oh.")
Pastikan Anda tidak secara tidak sengaja menyetel "Konfigurasi Build Aktif" ke "Rilis".
Di bawah "Target" di tampilan pohon grafis proyek Anda, klik kanan pada Target Anda dan lakukan "Dapatkan Info." Cari properti bernama "Generate Debug Symbols" (atau serupa) dan pastikan ini sudah DIPERIKSA (alias AKTIF). Selain itu, Anda dapat mencoba mencari (juga di Target >> Dapatkan Info) properti yang disebut "Debug Information Format" dan menyetelnya ke "Dwarf dengan file dsym".
Ada sejumlah properti lain di bawah Target >> Dapatkan Info yang mungkin memengaruhi Anda. Carilah hal-hal seperti mengoptimalkan atau mengompresi kode dan MENONAKTIFKAN hal-hal itu (saya menganggap Anda bekerja dalam mode debug, jadi ini bukan saran yang buruk). Juga, cari hal-hal seperti simbol pengupasan dan pastikan itu juga MATI. Misalnya, "Strip Linked Product" harus disetel ke "No" untuk target Debug.
sumber
Di Xcode 7, yang berhasil untuk saya adalah:
1) Pastikan target -> skema -> Run - dalam mode Debug (telah Rilis)
2) Pastikan untuk memeriksa opsi "Debug executable" lihat di bawah:
sumber
Buka preferensi Xcode Debugging. Pastikan bahwa "Muat Simbol dengan malas" TIDAK dipilih.
sumber
Saya baru saja mengalami masalah yang sama (lagi). Setelah memeriksa tiga kali "Muat simbol dengan malas" dan menghapus serta men-debug tanda pembuatan info, saya melakukan hal berikut:
Anda dapat menyelesaikan tugas yang sama di finder dengan mengklik kanan / option pada bundel .xcodeproj dan memilih "Show Package Contents".
Ketika saya me-restart Xcode, semua jendela saya telah diatur ulang ke posisi default, dll, tetapi breakpoint berfungsi!
sumber
Untuk Xcode 4.x: Goto Product> Debug Workflow dan hapus centang "Show Disassembly When Debugging".
Untuk Xcode 5.x Goto Debug> Debug Workflow dan hapus centang "Show Disassembly When Debugging".
sumber
Alasan lain
Setel
DeploymentPostprocessing
ke NO di BuildSettings - detailnya di siniPendeknya -
sumber
YES
hanya ada di sayasubproject
dan kemudian breakpoint tidak berfungsisubprojects
. Dan setelah diaturNO
, itu sempurna!Lihat posting ini: Breakpoints tidak berfungsi di Xcode? . Anda mungkin menekan "Run" daripada "Debug" dalam hal ini program Anda tidak berjalan dengan bantuan gdb, dalam hal ini Anda tidak dapat mengharapkan breakpoint bekerja!
sumber
Salah satu solusi yang mungkin untuk ini bisa .... pergi ke Produk> Skema> Edit skema> .. Di bawah Run> info> Executable centang "Debug executable".
sumber
Ini membuat saya di Xcode 9 selama setengah hari yang membuat frustrasi. Itu akhirnya menjadi pengaturan debug sederhana.
Go Debug> Debug Workflow dan pastikan 'Always Show Disassembly' dimatikan. Sederhana seperti itu. :(
sumber
Solusi untuk saya dengan XCode 9.4.1 (tidak berhenti di breakpoint apa pun):
Di bawah Build Target -> Build Settings -> Optimization Level: Beralih dari "Optimize for speed" -> "No optimization" (sekarang lebih lambat tapi berfungsi)
sumber
Apa yang memecahkannya dalam kasus saya cukup sederhana, di Xcode - Product - Clean Build Folder diikuti oleh Product - Run (bukan tombol Play Xcode).
(Memiliki masalah pada Xcode 11 -beta 4 setelah beralih ke pengujian unit dengan tekan lama tombol putar Xcode)
sumber
Datang ke halaman ini dengan masalah yang sama (kode C di Xcode 6 tidak berhenti di breakpoint) dan tidak ada solusi di atas yang berhasil (proyek ini praktis di luar kotak, pengaturan-bijaksana, begitu sedikit peluang untuk salah satu pengaturan debugger untuk disetel ke nilai yang salah) ...
Setelah membuang beberapa waktu untuk mengurangi masalah, akhirnya saya menemukan pelakunya (untuk kode saya):
Xcode (/ LLVM) tidak menyukai
#line
perintah preprocessor gaya Bison .Menghapusnya memperbaiki masalah (debugger berhenti di breakpoint saya).
sumber
Untuk Xcode 4:
sumber
Saya punya banyak masalah dengan breakpoint di Xcode (2.4.1). Saya menggunakan proyek yang hanya berisi proyek lain (seperti Solusi di Visual Studio). Saya kadang-kadang menemukan bahwa breakpoint tidak berfungsi sama sekali kecuali ada setidaknya satu breakpoint yang ditetapkan dalam proyek awal (yaitu yang berisi titik masuk untuk kode saya). Jika satu-satunya breakpoint ada di project "level yang lebih rendah", mereka akan diabaikan begitu saja.
Sepertinya Xcode hanya menangani operasi breakpoint dengan benar jika Anda bertindak pada breakpoint saat Anda berada dalam proyek yang berisi baris sumber tempat breakpoint berada.
Jika saya mencoba menghapus atau menonaktifkan breakpoint melalui proyek lain, tindakan tersebut terkadang tidak berpengaruh, meskipun debugger menunjukkannya. Jadi saya akan menemukan diri saya melanggar breakpoint yang dinonaktifkan, atau pada breakpoint (sekarang tidak terlihat) yang saya hapus sebelumnya.
sumber
Saya telah membuat breakpoint saya tidak berfungsi dan kemudian selesai Membangun / Membersihkan Semua Target untuk membuatnya berfungsi kembali.
sumber
Saya pikir masalahnya mungkin ketidakcocokan antara versi perangkat dan Xcode. Saya mengalami masalah ini saat mencoba men-debug di iPhone 4S saya yang menjalankan iOS 5.0.1. Saya masih menggunakan Xcode 3.2.5. Saya mendapatkan simbol dari handset dengan memilih "gunakan perangkat ini untuk pengembangan" di jendela Organizer. Namun ponsel ini menolak untuk breakpoint. 3GS lama saya akan breakpoint, proyek Xcode yang sama, pengaturan yang sama ... hanya perangkat yang berbeda dan menjalankan iOS 4.0. Saya rasa ini adalah bug Xcode di 3.2.5, karena saya memiliki simbolnya. Setelah mencoba semua solusi yang diposting di sini sejauh ini, saya telah memutuskan solusi untuk masalah saya adalah melanjutkan dan meningkatkan ke XCode 4. Mungkin Anda tidak dapat melakukan debug secara efektif kecuali SDK dasar Anda setidaknya setinggi sistem yang akan di-debug. Mungkin itu sudah jelas - adakah yang bisa memastikan?
Sunting: Saya akan memperbarui ketika saya dapat mengonfirmasi bahwa ini benar.
sumber
Menghapus folder Build saya memecahkan masalah bagi saya.
sumber
Itu telah terjadi hal yang sama pada saya di XCode 6.3.1. Saya berhasil memperbaikinya dengan:
Setelah melakukan perubahan itu saya mengatur Pindahkan titik putus kembali ke proyek, dan membatalkan pilihan Bagikan titik putus , dan masih berfungsi.
Saya tidak tahu persis mengapa tetapi ini mendapatkan breakpoint saya kembali.
sumber
Untuk ini, dan juga untuk Xcode 6 dan di atasnya pastikan bahwa tombol status breakpoint diaktifkan (tombol seperti panah biru):
sumber
Di Xcode 4
sumber
Saya menemukan masalahnya. Entah bagaimana, " Tampilkan Pembongkaran saat debugging " diaktifkan di Xcode saya yang menciptakan masalah itu. Ketika saya menonaktifkannya, semua debugger saya berhenti di kode sumber saya.
Anda dapat menemukannya di bawah:
Product->Debug Workflow->Show Disassembly
saat debugging.sumber
Anda dapat Mengaktifkan / Menonaktifkan Breakpoints di menu dropdown
sumber
Jika semuanya gagal, alih-alih breakpoint, Anda bisa memanggil fungsi berikut:
Untuk melanjutkan, setel i ke nol secara manual, lalu tekan tombol lanjutkan.
sumber
Saya mencoba semua hal di atas tetapi bagi saya hanya menonaktifkan breakpoint debugging sekali dan kemudian mengaktifkannya berhasil.
sumber
Saat mengatur break point Anda, klik kanan dan Anda akan mendapatkan beberapa opsi tentang bagaimana break point ditangani (log vars dan lanjutkan, jeda eksekusi, dll)
Pastikan juga "Muat Simbol dengan malas" tidak dipilih dalam preferensi debug.
(Berlaku untuk Xcode 3.1, tidak yakin tentang versi sebelumnya / mendatang)
sumber
Pastikan juga bahwa distribusi AppStore dari aplikasi juga tidak diinstal di perangkat.
sumber
Hal lain yang perlu diperiksa adalah jika Anda memiliki file plist "Entitlements" untuk mode debug Anda (mungkin karena Anda melakukan hal-hal dengan Keychain), pastikan file plist memiliki baris "get-task-allow" = YES. Tanpa itu, debugging dan logging akan rusak.
sumber
Tampaknya ada 3 status untuk breakpoint di Xcode. Jika Anda mengkliknya, mereka akan melalui pengaturan yang berbeda. Biru tua diaktifkan, abu-abu dinonaktifkan dan saya kadang-kadang melihat biru pucat yang mengharuskan saya mengklik breakpoint lagi untuk mengubahnya ke warna biru tua.
Selain itu, pastikan Anda meluncurkannya dengan perintah debug, bukan perintah jalankan. Anda dapat melakukannya dengan menekan opsi + command + return, atau opsi Go (debug) dari menu run.
sumber
Saya memiliki Xcode 3.2.3 SDK 4.1 Breakpoints akan gagal secara acak. Saya telah menemukan jika Anda membersihkan build dan menggunakan perintah sentuh di bawah build, mereka berfungsi lagi.
sumber
Inilah yang tidak jelas yang pernah saya temui: jika Anda bekerja di pustaka bersama (atau plugin), breakpoint Anda akan menjadi kuning saat startup, yang mungkin menyebabkan Anda memalu keyboard dengan frustrasi dan menghentikan proses debug. Nah, jangan lakukan itu! Simbol tidak akan dimuat sampai aplikasi memuat perpustakaan, di mana titik putus akan menjadi valid. Saya mengalami masalah ini dengan plugin browser ... BPs dinonaktifkan sampai saya menjelajahi halaman yang membuat plugin saya.
sumber