Note that there are some explanatory texts on larger screens.

plurals
  1. POwhat's the detail about gdb, does it hold one thread?
    primarykey
    data
    text
    <p>What's the detail about gdb, does it hold one thread when debug code? I set a exit flag in main thread, and I have joined other threads before print the flag. When I run the debug edition using gdb after compling with argument "-g",it looks :</p> <pre><code>[Thread debugging using libthread_db enabled] Input number of threads:5 Main thread id: 0xb7fda6c0, [New Thread 0xb7fd9b70 (LWP 9276)] [New Thread 0xb75d8b70 (LWP 9277)] [New Thread 0xb6bd7b70 (LWP 9278)] [New Thread 0xb61d6b70 (LWP 9279)] [New Thread 0xb57d5b70 (LWP 9280)] I am thread 0xb6bd7b70, myorder 2, thread_exit. I am thread 0xb61d6b70, myorder 3, thread_exit. I am thread 0xb7fd9b70, myorder 0, thread_exit. I am thread 0xb57d5b70, myorder 4, thread_exit. I am thread 0xb75d8b70, myorder 1, thread_exit. [Thread 0xb61d6b70 (LWP 9279) exited] [Thread 0xb6bd7b70 (LWP 9278) exited] [Thread 0xb75d8b70 (LWP 9277) exited] [Thread 0xb7fd9b70 (LWP 9276) exited] Main: completed join with thread 0xb7fd9b70 having a status of 0 Main: completed join with thread 0xb75d8b70 having a status of 1 Main: completed join with thread 0xb6bd7b70 having a status of 2 Main: completed join with thread 0xb61d6b70 having a status of 3 Main: completed join with thread 0xb57d5b70 having a status of 4 Main: lock will be destroy Main: 9273, tlist will be free Main exit. [Thread 0xb57d5b70 (LWP 9280) exited] Program exited normally. Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.7.el6.i686 libgcc-4.4.4-13.el6.i686 </code></pre> <p>GDB have give many information about "create" and "exit" of threads. But there is always one thread exited after calling pthread_join() and printing "Main exit" in main thread. Why? Is the thread which gdb work with? Run the release edition, nothing special:</p> <pre><code>Input number of threads:5 Main thread id: 0xb77176c0, I am thread 0xb5913b70, myorder 3, thread_exit. I am thread 0xb4f12b70, myorder 4, thread_exit. I am thread 0xb6314b70, myorder 2, thread_exit. I am thread 0xb6d15b70, myorder 1, thread_exit. I am thread 0xb7716b70, myorder 0, thread_exit. Main: completed join with thread 0xb7716b70 having a status of 0 Main: completed join with thread 0xb6d15b70 having a status of 1 Main: completed join with thread 0xb6314b70 having a status of 2 Main: completed join with thread 0xb5913b70 having a status of 3 Main: completed join with thread 0xb4f12b70 having a status of 4 Main: lock will be destroy Main: tdata list will be free Main exit. </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload