Каковы числа в квадратных скобках в выводе NSLog ()?

что текст между [] в сообщении журнала ниже? Я получаю это в своем приложении для iPhone, и я понятия не имею, откуда приходит сообщение. Мое первое предположение было бы номером строки, но в каком файле он будет?

2010-10-19 08:56:12.006 Encore[376:6907]

4 ответов


первое число-идентификатор процесса, второе-порт Mach потока ведения журнала. Пример рабочего стола:

2010-10-19 17:37:13.189 nc_init[28617:a0f] nc <CFNotificationCenter 0x10010d170 [0x7fff70d96f20]> - default <CFNotificationCenter 0x10010d2a0 [0x7fff70d96f20]>

(gdb) i thread
Thread 1 has current state "WAITING"
    Mach port #0xa0f (gdb port #0x4203)
    frame 0: main () at nc_init.m:10
    pthread ID: 0x7fff70ebfc20
    system-wide unique thread id: 0x167b49
    dispatch queue name: "com.apple.main-thread"
    dispatch queue flags: 0x0
    total user time: 13232000
    total system time: 16099000
    scaled cpu usage percentage: 0
    scheduling policy in effect: 0x1
    run state: 0x3 (WAITING)
    flags: 0x0
    number of seconds that thread has slept: 0
    current priority: 31
    max priority: 63
    suspend count: 0.

(gdb) p/x (int)mach_thread_self()
 = 0xa0f

обратите внимание, как 0xa0f сообщается как порт Mach потока.


первый номер-это идентификатор процесса, не уверен во втором, эта строка будет предшествовать каждой строке, напечатанной для консоли из вашего приложения.

возможно a NSLog(@""); вызывает это.

работает ли ваше приложение или оно разбилось на этом этапе?


первое число-это идентификатор процесса, как сказали другие. Второе число-это идентификатор потока, по крайней мере, я уверен, что это так...


это идентификатор процесса на самом деле. Вы можете видеть, что в консоли GDB где-то есть строка, которая должна читать "[переключение на процесс 376]".