it-swarm-id.com

Mengapa breakpoints saya tidak berfungsi?

Saya telah menetapkan breakpoints tetapi Xcode tampaknya mengabaikannya.

95
AlanKley

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.")

  1. Pastikan Anda tidak sengaja mengatur "Konfigurasi Bangun Aktif" menjadi "Lepaskan."

  2. 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.

139
pestophagous

Di Xcode 7, yang berhasil bagi saya adalah:

1) Pastikan target -> skema -> Jalankan - dalam mode Debug (adalah Release)

2) Pastikan untuk memeriksa opsi "Debug executable" lihat di bawah:

enter image description here

32
Oded Regev

Pergi ke preferensi Xcode Debugging. Pastikan "Muat Simbol dengan malas" TIDAK dipilih.

25
AlanKley

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:

  1. keluar dari Xcode
  2. buka jendela terminal dan cd ke direktori proyek
  3. cd ke direktori .xcodeproj
  4. hapus semuanya kecuali file .pbxproj (saya punya frank.mode1v3 dan frank.pbxuser)

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!

14
Frank Szczerba

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".

12
bneupaane

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!

8
Soong

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]

enter image description here

7
gbk

Untuk Xcode 4:

go Product -> Debug ->  Activate Breakpoints
4
evya

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).

4
Dave

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)

4
Strinder

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. :(

3
Gaz Long

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".

2
Soropromo

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.

2
Gavin

Menghapus folder Build saya memecahkan masalah untuk saya.

2
Jack Bellis

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.

2
Charles Anderson

Saya telah breakpoints saya tidak berfungsi dan kemudian selesai Build/Clean Semua Target untuk membuatnya bekerja lagi.

2
snowytree

Untuk ini, dan juga untuk Xcode 6 dan di atas, pastikan tombol breakpoint state diaktifkan (tombol seperti panah biru):

enter image description here

2
df611

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
1
brian.clear

Saya mencoba semua hal di atas, tetapi bagi saya hanya menonaktifkan breakpoint debugging sekali dan kemudian mengaktifkannya berhasil.

1
user8032120

 enter image description here

1
Stan

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.

1
Perumal

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.

1
William Jockusch

Hal yang sama terjadi pada saya di XCode 6.3.1. Saya berhasil memperbaikinya dengan:

  • Pergi ke View-> Navigators-> Show Debug Navigators
  • Klik kanan di root proyek -> Pindahkan Breakpoints (Jika memilih opsi Pengguna)
  • (Saya juga memilih opsi share breakpoints, meskipun saya tidak yakin apakah itu perlu).

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.

1
Osk

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 ...)

0
user2067021

Jika Anda menggunakan Subversion, cukup kembalikan file proyek Anda (hanya) hingga terakhir kali Anda tahu debugger berfungsi.

0
stephen

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.

0
Tim Keating

Setidaknya ini terjadi dari waktu ke waktu dengan proyek iOS. Untuk memperbaikinya, saya harus reboot perangkat iOS, keluar dari Xcode, dan membangun kembali proyek.

0
kakyo

Pastikan juga distribusi AppStore dari aplikasi tidak juga diinstal pada perangkat.

0
dan

Jika Anda mencoba semua pemeriksaan dasar, periksa untuk Tingkat Optimasi di target proyek dan pengaturan proyek. pastikan Anda memilih Tidak Ada untuk debug.

enter image description here

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.

0
Richard

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.

0
davidcann

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

0
AlanKley

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.

0
user917691

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.

0
Damon McGIll

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.

0
user532477

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:

  1. Produk -> Edit Skema ...
  2. Pilih "Jalankan% project_name.app%" (atau apa pun yang menyebabkan masalah)
  3. Dalam konfigurasi konfigurasi kombo pilih konfigurasi konfigurasi baru dari rekan setim saya

Dan itu saja, breakpoints kembali lagi. Semoga ini membantu.

0
MANIAK_dobrii

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.

0
duane

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.

0
crackity_jones

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)

0
Scott Swezey

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.

0
Rivera

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)

0
Lukas

Anda dapat memeriksa satu pengaturan dalam pengaturan target Apple LLVM Compiler 4.1 Bagian Pembuatan Kode Menghasilkan Simbol Debug = YA

0
Pushan

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.

0
Benny Khoo

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.

0
Ajit Satarkar