Saya ingin mencatat jejak panggilan selama titik-titik tertentu, seperti pernyataan yang gagal, atau pengecualian yang tidak tertangkap.
objective-c
cocoa
Robottobor
sumber
sumber
backtrace
danbacktrace_symbols
fungsinya; lihat manual backtrace (3).backtrace/backtrace_symbols
langsungJawaban n13 tidak cukup bekerja - saya memodifikasinya sedikit untuk menghasilkan ini
sumber
NSLog(@"[Error] - %@ %@", exception.name, exception.reason);
jika Anda menginginkan pengecualian yang sebenarnya jugaKakao sudah mencatat jejak tumpukan pada pengecualian tanpa tertangkap ke konsol meskipun mereka hanya alamat memori mentah. Jika Anda ingin informasi simbolik di konsol ada beberapa kode contoh dari Apple.
Jika Anda ingin membuat jejak stack pada titik sembarang dalam kode Anda (dan Anda menggunakan Leopard), lihat halaman manual backtrace. Sebelum Leopard, Anda sebenarnya harus menggali melalui tumpukan panggilan itu sendiri.
sumber
Ini cukup banyak memberi tahu Anda apa yang harus dilakukan.
Pada dasarnya Anda perlu mengatur pengecualian aplikasi yang menangani untuk log, sesuatu seperti:
sumber
Sebagai pengecualian, Anda dapat menggunakan anggota NSStackTraceKey dari kamus userInfo pengecualian untuk melakukan ini. Lihat Mengontrol Respons Program terhadap Pengecualian di situs web Apple.
sumber
Di cetak cepat dengan cara ini:
sumber