What are the numbers in the square brackets in NSLog() output?

后端 未结 4 1342
半阙折子戏
半阙折子戏 2020-12-03 05:16

What is the stuff between the [] in the log message below? I get this in my iPhone app, and I have no idea where the message is coming from. My first guess woul

相关标签:
4条回答
  • 2020-12-03 05:47

    The first number is the process ID, the second is the logging thread's Mach port. A desktop example:

    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()
    $1 = 0xa0f
    

    Notice how 0xa0f is reported as the thread's Mach port.

    0 讨论(0)
  • 2020-12-03 06:05

    The first number is the process ID, as the others have said. The second number is the thread ID, at least I'm pretty sure that's what it is...

    0 讨论(0)
  • 2020-12-03 06:07

    It's a process ID in fact. You can see that in the GDB console with a line somewhere that should read "[Switching to process 376]".

    0 讨论(0)
  • 2020-12-03 06:08

    first number is the process ID, unsure about second, this line will precede every line thats printed to console from your application.

    Possibly a NSLog(@""); is causing this.

    Is your application running or has it crashed by this stage?

    0 讨论(0)
提交回复
热议问题