2012-08-16 14 views
8

MonoTouch'ı bir Xcode projesine gömüyorum ve LLDB hata ayıklayıcısını SIGBUS sinyallerini işlemek için durdurmak istiyorum, çünkü bunlar mono çalışma zamanı tarafından kullanılıyor. Bunu nasıl yapabilirim?LLDB hata ayıklayıcısına SIGBUS işlemek için nasıl söylenir?

+1

http://stackoverflow.com/questions/10431579/permanently-configuring-lldb-in-xcode-4-3-2-not-to-stop-on-signals adresinde, "işlem tanıtıcısı SIGBUS -n true -p true -s false "hile yapmalı. –

cevap

18

lldb'nin "işlem tanıtıcı" komutuyla sinyalleri nasıl kestiğini/geçirdiğini kontrol edebilirsiniz. davanızı için,

(lldb) pro hand -p true -s false SIGBUS 
NAME  PASS STOP NOTIFY 
========== ===== ===== ====== 
SIGBUS  true false true 

şimdi sinyaller lldb engel olmadan sürecine geçilecek yapmak isterdim. "NOTIFY" alanı, lldb'nin sinyalin alındığını yazdırması gerekip gerekmediğini gösterir - varsayılan değer, hata ayıklayıcı konsolda yazdırılacağıdır, ancak şu anda görülmüyor. Ama sinyal doğru bir şekilde geçiyor, ki bu önemli bir bit.

+3

XCode'da bunu ayarlamanın herhangi bir yolu var mı? – ed22

+1

Bir kesme noktası ekleyin örn. main() üzerinde ve sonra kesme noktası eyleminde bu satırda bir LLDB komutu ekleyin, sonra "breakpoint sonra devam" onay kutusunu işaretleyin. – uliwitness

+1

Bunu Xcode'ta otomatik olarak yapmak için, komutu '~/.lldbinit-Xcode''a ekleyin. Komut satırından 'lldb' kullanıldığında bile bunun uygulanmasını istiyorsanız, '~/.lldbinit' için de ekleyin. – Buzzy

İlgili konular