title: Can't understand GDB backtrace output
body: <p>I'm trying to debug a deadlock situation. I'm working on a <code>Linux (Debian)</code> machine and using <code>QT Creator</code>. I try debugging using the following <code>GDB</code> command:</p>
  <p><code>thread apply all bt</code></p>
  <p>The output of this command is:</p>
  <pre><code>158thread apply all bt
  &gt;&amp;&quot;thread apply all bt\n&quot;
  &gt;~&quot;\nThread 4 (LWP 6801):\n&quot;
  &gt;~&quot;#0  0x00007ffff6da6994 in ?? ()\n&quot;
  &gt;~&quot;#1  0x0008800002d0da5d in ?? ()\n&quot;
  &gt;~&quot;#2  0x0000000000000002 in ?? ()\n&quot;
  &gt;~&quot;#3  0x00007d640002dfe3 in ?? ()\n&quot;
  &gt;~&quot;#4  0x00007ffff3395ac0 in ?? ()\n&quot;
  &gt;~&quot;#5  0x00007ffff6d539dd in ?? ()\n&quot;
  &gt;~&quot;#6  0x00007d2000000400 in ?? ()\n&quot;
  &gt;~&quot;#7  0x0000000000000078 in ?? ()\n&quot;
  &gt;~&quot;#8  0x00007ffff6d8f9b6 in ?? ()\n&quot;
  &gt;~&quot;#9  0x0000000000000078 in ?? ()\n&quot;
  &gt;~&quot;#10 0x0000000000000010 in ?? ()\n&quot;
  &gt;~&quot;#11 0x00007ffff3395ac0 in ?? ()\n&quot;
  &gt;~&quot;#12 0x0000000000000001 in ?? ()\n&quot;
  &gt;~&quot;#13 0x00007ffff6d539dd in ?? ()\n&quot;
  &gt;~&quot;#14 0x00007ffff6d9028c in ?? ()\n&quot;
  &gt;~&quot;#15 0x0000000000000004 in ?? ()\n&quot;
  &gt;~&quot;#16 0x00007d2000000400 in ?? ()\n&quot;
  &gt;~&quot;#17 0x00007ffff3394b10 in ?? ()\n&quot;
  &gt;~&quot;#18 0x00007fff00000000 in ?? ()\n&quot;
  &gt;~&quot;#19 0x00007d940000ca38 in ?? ()\n&quot;
  &gt;~&quot;#20 0x00007ffff3395ac0 in ?? ()\n&quot;
  &gt;~&quot;#21 0x0000000000000078 in ?? ()\n&quot;
  &gt;~&quot;#22 0x0000000000000000 in ?? ()\n&quot;
  &gt;~&quot;\nThread 3 (LWP 6800):\n&quot;
  &gt;~&quot;#0  0x00007ffff5c518bd in ?? ()\n&quot;
  &gt;~&quot;#1  0x0000000000000001 in ?? ()\n&quot;
  &gt;~&quot;#2  0x00007ffff6d6e919 in ?? ()\n&quot;
  &gt;~&quot;#3  0x00000064f3b96040 in ?? ()\n&quot;
  &gt;~&quot;#4  0x00007ffff3b96a01 in ?? ()\n&quot;
  &gt;~&quot;#5  0x00007ffff3b96ac0 in ?? ()\n&quot;
  &gt;~&quot;#6  0x000000000048e149 in pTimerThread (pData=&lt;error reading variable: Cannot access memory at address 0xfffffffffff97328&gt;) at /mnt/hgfs/Projects/deom/Modul/osTimer.c:267\n&quot;
  &gt;~&quot;Backtrace stopped: Cannot access memory at address 0xfffffffffff973c8\n&quot;
  &gt;~&quot;\nThread 2 (LWP 6799):\n&quot;
  &gt;~&quot;#0  0x00007ffff5c2a28d in ?? ()\n&quot;
  &gt;~&quot;#1  0x0000000000000000 in ?? ()\n&quot;
  &gt;~&quot;\nThread 1 (LWP 6795):\n&quot;
  &gt;~&quot;#0  0x00007ffff67bd556 in ?? ()\n&quot;
  &gt;~&quot;#1  0x00007ffff3c03808 in ?? ()\n&quot;
  &gt;~&quot;#2  0x00007ffff7f64880 in ?? ()\n&quot;
  &gt;~&quot;#3  0x00007d140000ef80 in ?? ()\n&quot;
  &gt;~&quot;#4  0xfffffffeffffffff in ?? ()\n&quot;
  &gt;~&quot;#5  0x00007fffffffded0 in ?? ()\n&quot;
  &gt;~&quot;#6  0x00007ffff67bd604 in ?? ()\n&quot;
  &gt;~&quot;#7  0x00007ffff7f64880 in ?? ()\n&quot;
  &gt;~&quot;#8  0x0000000000000000 in ?? ()\n&quot;
  &gt;158^done
  </code></pre>
  <p>The only line that is human-readable for me is:</p>
  <p><code>&gt;~&quot;#6  0x000000000048e149 in pTimerThread (pData=&lt;error reading variable: Cannot access memory at address 0xfffffffffff97328&gt;) at /mnt/hgfs/Projects/deom/Modul/osTimer.c:267\n&quot;</code></p>
  <p>Shouldn't this command give the list of functions that have been recently called by each thread? Why does it just give list of addresses instead of directly functions' names? Is there a way to know which functions are defined in these addresses?</p>