This is the new patch that just did some small words change. Following is a vcg file that got from record pic: graph: {title: "GDB process record" node: {title: "[BEGIN]"} node: {title: "1.c:21 main 0x80483c1 c:1"} node: {title: "main 22 0x80483c8 c:1"} node: {title: "main 25 0x80483cf c:1"} node: {title: "main 26 0x80483f3 c:2"} node: {title: "1.c:9 cool 0x8048391 c:1"} node: {title: "cool 10 0x8048397 c:1"} node: {title: "cool 13 0x80483a4 c:1"} node: {title: "1.c:4 cool2 0x8048374 c:1"} node: {title: "cool2 5 0x804837a c:1"} node: {title: "cool2 6 0x804838f c:1"} node: {title: "1.c:15 cool 0x80483a9 c:1"} node: {title: "cool 16 0x80483ae c:1"} node: {title: "main 27 0x80483fb c:1"} node: {title: "main 30 0x804841f c:1"} node: {title: "main 31 0x8048423 c:1"} node: {title: "main 32 0x8048447 c:1"} node: {title: "main 33 0x8048454 c:1"} node: {title: "main 34 0x8048478 c:1"} node: {title: "main 35 0x804847d c:1"} node: {title: "/build/buildd/glibc-2.7/build-tree/i386-libc/csu/crti.S:41 _fini 0x804852c c:1"} node: {title: "_fini 42 0x804852d c:1"} node: {title: "_fini 43 0x804852f c:1"} node: {title: "_fini 44 0x8048530 c:1"} node: {title: "_fini 45 0x8048533 c:1"} node: {title: "_fini 47 0x8048538 c:1"} node: {title: "_fini 48 0x8048539 c:1"} node: {title: "_fini 21 0x8048544 c:1"} node: {title: "_fini 22 0x8048545 c:1"} node: {title: "_fini 23 0x8048546 c:1"} node: {title: "_fini 24 0x8048547 c:1"} nearedge: {color:red sourcename: "[BEGIN]" targetname: "1.c:21 main 0x80483c1 c:1"} nearedge: {sourcename: "1.c:21 main 0x80483c1 c:1" targetname: "main 22 0x80483c8 c:1" label: "c:1"} nearedge: {sourcename: "main 22 0x80483c8 c:1" targetname: "main 25 0x80483cf c:1" label: "c:1"} nearedge: {sourcename: "main 25 0x80483cf c:1" targetname: "main 26 0x80483f3 c:2" label: "c:1"} edge: {color:red sourcename: "main 26 0x80483f3 c:2" targetname: "1.c:9 cool 0x8048391 c:1" label: "c:1"} nearedge: {sourcename: "1.c:9 cool 0x8048391 c:1" targetname: "cool 10 0x8048397 c:1" label: "c:1"} nearedge: {sourcename: "cool 10 0x8048397 c:1" targetname: "cool 13 0x80483a4 c:1" label: "c:1"} edge: {color:red sourcename: "cool 13 0x80483a4 c:1" targetname: "1.c:4 cool2 0x8048374 c:1" label: "c:1"} nearedge: {sourcename: "1.c:4 cool2 0x8048374 c:1" targetname: "cool2 5 0x804837a c:1" label: "c:1"} nearedge: {sourcename: "cool2 5 0x804837a c:1" targetname: "cool2 6 0x804838f c:1" label: "c:1"} edge: {color:blue sourcename: "cool2 6 0x804838f c:1" targetname: "1.c:15 cool 0x80483a9 c:1" label: "c:1"} nearedge: {sourcename: "1.c:15 cool 0x80483a9 c:1" targetname: "cool 16 0x80483ae c:1" label: "c:1"} edge: {color:blue sourcename: "cool 16 0x80483ae c:1" targetname: "main 26 0x80483f3 c:2" label: "c:1"} nearedge: {sourcename: "main 26 0x80483f3 c:2" targetname: "main 27 0x80483fb c:1" label: "c:1"} nearedge: {sourcename: "main 27 0x80483fb c:1" targetname: "main 30 0x804841f c:1" label: "c:1"} nearedge: {sourcename: "main 30 0x804841f c:1" targetname: "main 31 0x8048423 c:1" label: "c:1"} nearedge: {sourcename: "main 31 0x8048423 c:1" targetname: "main 32 0x8048447 c:1" label: "c:1"} nearedge: {sourcename: "main 32 0x8048447 c:1" targetname: "main 33 0x8048454 c:1" label: "c:1"} nearedge: {sourcename: "main 33 0x8048454 c:1" targetname: "main 34 0x8048478 c:1" label: "c:1"} nearedge: {sourcename: "main 34 0x8048478 c:1" targetname: "main 35 0x804847d c:1" label: "c:1"} edge: {color:red sourcename: "main 35 0x804847d c:1" targetname: "/build/buildd/glibc-2.7/build-tree/i386-libc/csu/crti.S:41 _fini 0x804852c c:1" label: "c:1"} nearedge: {sourcename: "/build/buildd/glibc-2.7/build-tree/i386-libc/csu/crti.S:41 _fini 0x804852c c:1" targetname: "_fini 42 0x804852d c:1" label: "c:1"} nearedge: {sourcename: "_fini 42 0x804852d c:1" targetname: "_fini 43 0x804852f c:1" label: "c:1"} nearedge: {sourcename: "_fini 43 0x804852f c:1" targetname: "_fini 44 0x8048530 c:1" label: "c:1"} nearedge: {sourcename: "_fini 44 0x8048530 c:1" targetname: "_fini 45 0x8048533 c:1" label: "c:1"} nearedge: {sourcename: "_fini 45 0x8048533 c:1" targetname: "_fini 47 0x8048538 c:1" label: "c:1"} nearedge: {sourcename: "_fini 47 0x8048538 c:1" targetname: "_fini 48 0x8048539 c:1" label: "c:1"} nearedge: {sourcename: "_fini 48 0x8048539 c:1" targetname: "_fini 21 0x8048544 c:1" label: "c:1"} nearedge: {sourcename: "_fini 21 0x8048544 c:1" targetname: "_fini 22 0x8048545 c:1" label: "c:1"} nearedge: {sourcename: "_fini 22 0x8048545 c:1" targetname: "_fini 23 0x8048546 c:1" label: "c:1"} nearedge: {sourcename: "_fini 23 0x8048546 c:1" targetname: "_fini 24 0x8048547 c:1" label: "c:1"} node: {title: "[END]"} nearedge: {color:red sourcename: "_fini 23 0x8048546 c:1" targetname: "[END]" } } Thanks, Hui 2010-06-18 Hui Zhu * record.c (set_record_pic_cmdlist, show_record_pic_cmdlist): New variables. (set_record_pic_command, show_record_pic_command): New functions. (record_pic_function, record_pic_line, record_pic_enum, set_record_pic_type, record_pic_hide_nofunction, record_pic_hide_nosource, record_pic_hide_same): New variables. (record_pic_fputs): New function. (node_list, edge_list): New struct. (node_list, edge_list): New variables. (record_pic_cleanups, record_pic_node, record_pic_edge, cmd_record_pic): New functions. (_initialize_record): Add new commands for record pic. 2010-06-18 Hui Zhu * gdb.texinfo: (Process Record and Replay): Add documentation for command "record pic".