Saya telah menetapkan breakpoints tetapi Xcode tampaknya mengabaikannya.
Pertama-tama, saya setuju 100% dengan orang-orang sebelumnya yang mengatakan turn OFF Load Symbols Lazily
.
Saya memiliki dua hal lagi untuk ditambahkan.
(Saran pertamaku terdengar jelas, tetapi pertama kali seseorang menyarankannya kepadaku, reaksiku berjalan seperti ini: "ayolah, tolong, kamu benar-benar berpikir aku tidak akan tahu lebih baik ...... oh.")
Pastikan Anda tidak sengaja mengatur "Konfigurasi Bangun Aktif" menjadi "Lepaskan."
Di bawah "Target" di tampilan pohon grafis proyek Anda, klik kanan pada Target Anda dan lakukan "Dapatkan Info." Cari properti bernama "Hasilkan Simbol Debug" (atau serupa) dan pastikan ini DIPERIKSA (alias AKTIF). Juga, Anda dapat mencoba menemukan (juga di Target >> Dapatkan Info) properti yang disebut "Format Informasi Debug" dan mengaturnya ke "Dwarf dengan file dsym."
Ada sejumlah properti lainnya di bawah Target >> Dapatkan Info yang mungkin mempengaruhi Anda. Cari hal-hal seperti mengoptimalkan atau mengompresi kode dan mematikannya (saya menganggap Anda bekerja dalam mode debug, sehingga ini bukan saran yang buruk). Juga, cari hal-hal seperti pengupasan simbol dan pastikan juga OFF. Misalnya, "Strip Linked Product" harus diatur ke "Tidak" untuk target Debug.
Pergi ke preferensi Xcode Debugging. Pastikan "Muat Simbol dengan malas" TIDAK dipilih.
Saya baru saja mengalami masalah yang sama (lagi). Setelah tiga kali memeriksa "Muat simbol malas" dan menelanjangi dan men-debug flag pembuatan info, saya melakukan hal berikut:
Anda dapat menyelesaikan tugas yang sama di Finder dengan mengklik kanan/opsi pada bundel .xcodeproj dan memilih "Tampilkan Isi Paket".
Ketika saya me-restart Xcode, semua windows saya telah direset ke posisi default, dll, tetapi breakpoints berhasil!
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".
Lihat posting ini: Breakpoints tidak berfungsi di Xcode? . Anda mungkin mendorong "Jalankan" daripada "Debug" dalam hal ini program Anda tidak berjalan dengan bantuan gdb, dalam hal ini Anda tidak dapat mengharapkan breakpoint bekerja!
Alasan lain
Set DeploymentPostprocessing
ke NO di BuildSettings - detail di sini
Pendeknya -
Mengaktifkan pengaturan ini menunjukkan bahwa binari harus dihapus dan mode file, pemilik, dan informasi grup harus ditetapkan ke nilai standar. [DEPLOYMENT_POSTPROCESSING]
Untuk Xcode 4:
go Product -> Debug -> Activate Breakpoints
Datang ke halaman ini dengan masalah yang sama (kode C di Xcode 6 tidak berhenti di breakpoints) dan tidak ada solusi di atas yang bekerja (proyek ini praktis di luar kotak, pengaturan-bijaksana, sehingga sedikit kesempatan untuk pengaturan debugger untuk ditetapkan ke nilai yang salah) ...
Setelah menghabiskan cukup waktu untuk mengurangi masalah, saya akhirnya menemukan penyebabnya (untuk kode saya):
Xcode (/ LLVM) tidak suka gaya Bison #line
perintah preprosesor.
Menghapusnya memperbaiki masalah (debugger berhenti di breakpoints saya).
Solusi untuk saya dengan XCode 9.4.1 (tidak berhenti di breakpoint mana pun):
Dalam Bangun target -> Bangun Pengaturan -> Level Optimasi: Berganti dari "Optimalkan kecepatan" -> "Tidak ada optimasi" (sekarang lebih lambat tetapi berfungsi)
Ini membuat saya di Xcode 9 selama setengah hari yang membuat frustrasi. Itu akhirnya menjadi pengaturan debug sederhana.
Buka Debug> Debug Workflow dan pastikan 'Always Show Disassembly' dimatikan. Sederhana seperti itu. :(
Ini bisa menjadi salah satu alasan yang memungkinkan terjadinya hal ini .... buka Produk> Skema> Edit skema> .. Di Bawah Jalankan> info> Periksa yang dapat dijalankan "Debug yang dapat dieksekusi".
Saya pikir masalahnya mungkin ketidakcocokan antara versi perangkat dan Xcode. Saya memiliki masalah ini ketika mencoba melakukan debug pada iPhone 4S saya yang menjalankan iOS 5.0.1. Saya masih menggunakan Xcode 3.2.5. Saya mendapat simbol dari handset dengan memilih "gunakan perangkat ini untuk pengembangan" di jendela Organizer. Namun telepon ini menolak untuk breakpoint. 3GS lama saya akan breakpoint, proyek Xcode yang sama, pengaturan yang sama ... hanya perangkat yang berbeda dan itu menjalankan iOS 4.0. Saya kira ini adalah bug Xcode di 3.2.5, karena saya memiliki simbol. Setelah mencoba semua solusi yang diposting di sini sejauh ini, saya telah memutuskan solusi untuk masalah saya adalah untuk melanjutkan dan meningkatkan ke XCode 4. Mungkin Anda tidak dapat melakukan debug secara efektif kecuali SDK dasar Anda setidaknya setinggi sistem yang digunakan untuk debug. Mungkin itu sudah jelas - adakah yang bisa mengkonfirmasi?
Sunting: Saya akan memperbarui ketika saya dapat mengkonfirmasi ini benar.
Menghapus folder Build saya memecahkan masalah untuk saya.
Saya punya banyak masalah dengan breakpoints di Xcode (2.4.1). Saya menggunakan proyek yang hanya berisi proyek-proyek lain (seperti Solusi di Visual Studio). Saya kadang-kadang menemukan bahwa breakpoints 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 breakpoints ada di proyek "level bawah", mereka hanya diabaikan.
Sepertinya Xcode hanya menangani operasi breakpoint dengan benar jika Anda bertindak pada breakpoint ketika Anda berada di proyek yang berisi baris sumber tempat breakpoint aktif.
Jika saya mencoba menghapus atau menonaktifkan breakpoints melalui proyek lain, tindakan kadang-kadang tidak berpengaruh, meskipun debugger menunjukkan itu. Jadi saya akan menemukan diri saya melanggar breakpoint yang dinonaktifkan, atau pada breakpoint (sekarang tidak terlihat) yang saya hapus sebelumnya.
Saya telah breakpoints saya tidak berfungsi dan kemudian selesai Build/Clean Semua Target untuk membuatnya bekerja lagi.
Untuk ini, dan juga untuk Xcode 6 dan di atas, pastikan tombol breakpoint state diaktifkan (tombol seperti panah biru):
Dalam Xcode 4
- Product menu > Manage Schemes
- Select the scheme thats having debugging problems (if only one choose that)
- Click Edit button at bottom
- Edit Scheme dialog appears
- in left panel click on Run APPNAME.app
- on Right hand panel make sure youre on INFO tab
- look for drop down DEBUGGER:
- someone had set this to None
- set to LLDB if this is your preferred debugger
- can also change BUILD CONFIGURATION drop down to Debug
- but I have other targets set to AdHoc which debug fine once Debugger is set
Saya mencoba semua hal di atas, tetapi bagi saya hanya menonaktifkan breakpoint debugging sekali dan kemudian mengaktifkannya berhasil.
Saya menemukan masalahnya. Entah bagaimana "Perlihatkan Disassembly 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.
Jika semuanya gagal, alih-alih breakpoint, Anda dapat memanggil fungsi berikut:
void BreakPoint(void) {
int i=1;
#if !__OPTIMIZE__
printf("Code is waiting; hit pause to see.\n");
while(i);
#endif
}
Untuk melanjutkan, atur secara manual ke nol, lalu tekan tombol resume.
Hal yang sama terjadi pada saya di XCode 6.3.1. Saya berhasil memperbaikinya dengan:
Setelah melakukan perubahan itu saya atur Pindahkan breakpoints opsi kembali ke proyek, dan batalkan pilihan Bagikan breakpoints opsi, dan masih berfungsi.
Saya tidak tahu persis mengapa tetapi ini mendapatkan breakpoints saya kembali.
Pada Xcode 6.4, saya perlu me-reboot Mac saya.
(Mencoba mengaktifkan/menonaktifkan breakpoint, me-reboot perangkat iOS, me-restart Xcode, menghapus file-file breakpoint dari paket workspace ...)
Jika Anda menggunakan Subversion, cukup kembalikan file proyek Anda (hanya) hingga terakhir kali Anda tahu debugger berfungsi.
Inilah yang tidak jelas yang saya temui: jika Anda bekerja di perpustakaan bersama (atau sebuah plugin), breakpoints Anda akan berubah menjadi kuning pada saat startup, yang mungkin menyebabkan Anda memalu keyboard Anda dengan frustrasi dan mematikan proses debug. Yah, jangan lakukan itu! Simbol tidak akan dimuat sampai aplikasi memuat pustaka, pada titik mana breakpoint akan menjadi valid. Saya mengalami masalah ini dengan plugin browser ... BPs dinonaktifkan hingga saya melihat-lihat halaman yang membuat instantiated plugin saya.
Setidaknya ini terjadi dari waktu ke waktu dengan proyek iOS. Untuk memperbaikinya, saya harus reboot perangkat iOS, keluar dari Xcode, dan membangun kembali proyek.
Pastikan juga distribusi AppStore dari aplikasi tidak juga diinstal pada perangkat.
Saya punya masalah dengan Xcode kehilangan breakpoint ketika menggunakan simulator dan memiliki pengaturan Peluncuran Skema untuk "menunggu dieksekusi". Ubah itu untuk "memulai secara otomatis" dan breakpoint kembali hidup.
Hal lain yang perlu diperiksa adalah bahwa jika Anda memiliki file plist "Hak" untuk mode debug Anda (mungkin karena Anda melakukan hal-hal dengan Keychain), pastikan bahwa file plist memiliki "get-task-allow" = baris YA. Tanpa itu, debugging dan logging akan rusak.
Saya percaya bahwa sebuah proyek juga bisa rusak sehubungan dengan breakpoints. Saya punya proyek, misalnya, yang TIDAK AKAN break pada breakpoints yang ia ingat dari sesi sebelumnya. Saya pertama kali menulis tentang ini di sini
Saya menghadapi masalah yang sama ketika saya ingin men-debug plug-in web di mana custom executable adalah Safari 5.1. Itu bekerja dengan baik sampai meningkatkan Safari saya ke 5.1 dari 4.0.5. Setelah saya menginstal Safari 4.0.5 lagi, semua breakpoints mulai bekerja tanpa mengubah pengaturan Xcode.
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.
Alasan lain breakpoints dapat berubah menjadi kuning adalah jika biner aplikasi yang Anda debug telah dimodifikasi sejak pertama kali dijalankan. Dalam kasus saya, saya menambahkan folder ke folder Isi/Sumber Daya aplikasi setelah mendebug program sekali. Pada proses debug setelah menambahkan folder, breakpoint berubah menjadi kuning dan diabaikan. Saya mengubah prosedur saya: Saya melakukan pembersihan, build, menambahkan folder, lalu berlari, dan semuanya baik-baik saja.
Mungkin Xcode (atau OS X) membuat dan mengingat tanda tangan digital sendiri dari aplikasi (yang tidak ditandatangani secara digital) dan kemudian, merasakan bahwa aplikasi tersebut dimodifikasi, menolak untuk mencoba mengatur breakpoints. Dengan membuat mod saya sebelum menjalankan (debug) aplikasi pertama, tanda tangan digital dibuat with mod saya.
Semua ini pada OS X 10.6.8 menggunakan Xcode 3.2.2.
Baru saja selesaikan ini dalam XCode 4.2
, tidak ada di atas yang membantu. Masalahnya adalah (saya tidak yakin apa yang sebenarnya terjadi, tetapi, mungkin ini membantu seseorang): rekan tim saya membuat konfigurasi build baru dan proyek yang diperbarui di SVN. Saya memiliki konfigurasi build lama yang diatur dalam pengaturan Run Scheme, jadi langkah-langkahnya bagi saya adalah:
Dan itu saja, breakpoints kembali lagi. Semoga ini membantu.
Saya belum melakukan Xcode sedikit pun, tetapi saya sarankan Anda menonaktifkan "Zerolink" dan "Muat Simbol dengan Lemah"; yang akan memperbaiki sebagian besar masalah. Zerolink adalah kekejian.
Tampaknya ada 3 negara untuk breakpoint di Xcode. Jika Anda mengkliknya, mereka akan melalui pengaturan yang berbeda. Biru tua diaktifkan, abu-abu dinonaktifkan dan saya terkadang melihat biru pucat yang mengharuskan saya mengklik breakpoint lagi untuk membuatnya pergi ke warna biru gelap.
Selain ini, pastikan Anda meluncurkannya dengan perintah debug bukan perintah jalankan. Anda dapat melakukannya dengan menekan opsi + perintah + kembali, atau opsi Buka (debug) dari menu jalankan.
Saat mengatur break point Anda, klik kanan dan Anda harus mendapatkan beberapa opsi tentang bagaimana break point ditangani (log vars dan lanjutkan, jeda eksekusi, dll)
Pastikan juga "Muat Simbol malas" tidak dipilih dalam preferensi debug.
(Berlaku untuk Xcode 3.1, tidak yakin tentang versi masa lalu/masa depan)
Memiliki kedua Xcode 5 dan 6 GM menyebabkan mantan kehilangan fungsionalitas breakpoint (Xcode 6 beta baik-baik saja).
Saya mencoba banyak metode yang disarankan tetapi akhirnya menyerah dan saya hanya menggunakan Xcode 6 sekarang.
Apa yang dipecahkan dalam kasus saya cukup sederhana, di Xcode - Produk - Bersihkan Folder Bangun diikuti oleh Produk - Jalankan (bukan tombol Play Xcode).
(Memiliki masalah pada Xcode 11 -beta 4 setelah beralih ke unit testing dengan tombol putar Xcode tekan lama)
Anda dapat memeriksa satu pengaturan dalam pengaturan target Apple LLVM Compiler 4.1 Bagian Pembuatan Kode Menghasilkan Simbol Debug = YA
Dalam kasus saya, saya menemukan bahwa breakpoints secara tidak sengaja dinonaktifkan. Anda dapat mengaktifkannya kembali melalui Debug-> Aktifkan Breakpoints [Cmd + Y]. Jika Anda melihat spidol grey'ed out breakpoint alih-alih marker biru biasa, ini kemungkinan terjadi.
Ternyata Anda selalu dapat mengaktifkan aktivasi breakpoints dengan kunci Cmd + Y, Anda mungkin telah menekan tombol kombinasi ini tanpa menyadarinya. Laporan ini didasarkan pada Xcode 7.2.
Dalam hal Xcode 4 dan yang lebih baru * Muat simbol dengan malas * tampaknya dijatuhkan . Jadi, rujuk posting ini klik di sini
Penjelasan sederhana dan terperinci bekerja untuk saya.