$ gdb ecrash_test.debug GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-suse-linux"...Using host libthread_db library "/lib64/tls/libthread_db.so.1". (gdb) list *0x401a84 0x401a84 is in createGlobalBacktrace (eCrash.c:305). 300 * 301 */ 302 static void createGlobalBacktrace( void ) 303 { 304 305 gbl_backtraceEntries = backtrace(gbl_backtraceBuffer, 306 gbl_params.maxStackDepth); 307 308 /* This is NOT signal safe -- it calls malloc. We need to 309 let the caller pass in a pointer to a symbol table inside of (gdb) list *0x401de1 0x401de1 is in bt_handler (eCrash.c:446). 441 * @param signum Signal received. 442 */ 443 static void bt_handler(int signo) 444 { 445 createGlobalBacktrace(); 446 gbl_backtraceDoneFlag=1; 447 } // bt_handler 448 449 /********************************************************************* 450 ********************************************************************* (gdb) list *0x2aaaaad04f00 No source file for address 0x2aaaaad04f00. (gdb) list *0x2aaaaad64d95 No source file for address 0x2aaaaad64d95. (gdb) list *0x2aaaaad64bcc No source file for address 0x2aaaaad64bcc. (gdb) list *0x400e6d 0x400e6d is in sleepFuncC (ecrash_test.c:64). 59 /* some nested functions to make things prettier */ 60 void sleepFuncC( char *name) 61 { 62 printf("%s: Sleeping forever. . .\n", name); 63 fflush(stdout); 64 for(;;) { 65 sleep(1); 66 } 67 } 68 (gdb) list *0x400e84 0x400e84 is in sleepFuncB (ecrash_test.c:72). 67 } 68 69 void sleepFuncB(char *name) 70 { 71 sleepFuncC(name); 72 } 73 void sleepFuncA(char *name) 74 { 75 sleepFuncB(name); 76 } (gdb) list *0x400e9b 0x400e9b is in sleepFuncA (ecrash_test.c:76). 71 sleepFuncC(name); 72 } 73 void sleepFuncA(char *name) 74 { 75 sleepFuncB(name); 76 } 77 78 79 void crashC(char *name) 80 { (gdb) list *0x400fae 0x400fae is in ecrash_test_thread (ecrash_test.c:116). 111 crashA(threadName); 112 } else { 113 sleepFuncA(threadName); 114 } 115 116 return NULL; 117 } // ecrash_test_thread 118 119 int CreateAThread(int i) { 120 eCrashTestParams *parms; (gdb) list *0x2aaaaabc884f No source file for address 0x2aaaaabc884f. (gdb) quit