ddd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DDD 3.3.11 (x86_64-unknown-linux-gnu) gets `Segmentation fault' signal


From: Lee Helmle
Subject: DDD 3.3.11 (x86_64-unknown-linux-gnu) gets `Segmentation fault' signal
Date: Fri, 10 Oct 2008 15:54:31 -0700
User-agent: Thunderbird 1.5.0.12 (X11/20080411)

Hello,

I was testing to verify a bug in an old function when a tiny test program blew away DDD. I've attached a small program
(see attached test_fopen.c) I was using to test what looks like a long-standing typo in the original code along with the output file, the log, and my output to the screen.

I suspect someone read "t" for "+" in the fopen() man pages a long time ago and no one ever had a problem with it until I came along. When I started messing with the value to see what else might happen, it crashed DDD. DDD crashes consistently on Redhat Linux, but not on Solaris 10 with this program.

Compile with the command:  gcc -g -o tfopen test_fopen.c
Run with the command:  tfopen

Let me know if you need any additional information.

Hope this helps,
Lee


-- 
Lee Helmle
Aerospace Computing, Inc.
Phone:  650-604-6256
email:  address@hidden
[Toys]% gcc -g -o tfopen test_fopen.c
[Toys]% ddd tfopen &
[3] 23542
[Toys]%
Internal error (Segmentation fault).

Oops!  You have found a bug in DDD.

If you can reproduce this bug, please send a bug report
to <address@hidden>, giving a subject like

    DDD 3.3.11 (x86_64-unknown-linux-gnu) gets `Segmentation fault' signal

To enable us to fix the bug, you should include the following information:
* What you were doing to get this message.  Report all the facts.
* The contents of the `~/.ddd/log' file as generated by this session.
Please read also the section "Reporting Bugs" in the DDD manual.

We thank you for your support.


[3]    Segmentation fault            ddd tfopen
[Toys]%
[Toys]%
[Toys]%


Repeated just to be sure:

[Toys]% ddd tfopen &
[3] 23564
[Toys]% 
Internal error (Segmentation fault).

Oops!  You have found a bug in DDD.

If you can reproduce this bug, please send a bug report
to <address@hidden>, giving a subject like

    DDD 3.3.11 (x86_64-unknown-linux-gnu) gets `Segmentation fault' signal

To enable us to fix the bug, you should include the following information:
* What you were doing to get this message.  Report all the facts.
* The contents of the `~/.ddd/log' file as generated by this session.
Please read also the section "Reporting Bugs" in the DDD manual.

We thank you for your support.


[3]    Segmentation fault            ddd tfopen
#include <stdio.h>

main()
{
    /* Test bogus fopen() mode value. */

    FILE *f;
    char *fname = "test_fopen.dat";
    printf("\n file name = %s.\n", fname);

/*    f = fopen(fname,"w");*/
/*    f = fopen(fname,"wt");*/
    f = fopen(fname,"wtttt");
    if (f == NULL) 
    {
        printf("\n fopen returned NULL.");
    }
    fprintf(f, "Write something 03.\n");
}
Write something 03.
GNU DDD 3.3.11 (x86_64-unknown-linux-gnu)
Copyright (C) 1995-1999 Technische Universität Braunschweig, Germany.
Copyright (C) 1999-2001 Universität Passau, Germany.
Copyright (C) 2001 Universität des Saarlandes, Germany.
Copyright (C) 2001-2004 Free Software Foundation, Inc.

Compiled with GCC 3.4.6 20060404 (Red Hat 3.4.6-3), GNU libc 2.3
Requires X11R6, Xt11R6, Motif 2.2.3 (Motif Version 2.2.3)
Includes XPM 3.4.11, Athena Panner (7000002L), DDD core
Built 2007-04-15 by root <address@hidden>.
$  ddd tfopen
+  /bin/sh -c 'exec gdb -q -fullname '\''tfopen'\'''
#  Hello, world!
#  Opening session "1021020719c170000122367849800000285940029"...
#  Enabling core dumps...
#  Enabling core dumps...done.
#  Running GDB (pid 26272, tty /dev/pts/50)...
#  Current language: C/C++
#  Searching "vsllib/ddd.vsl"...
#  Trying "/home/helmle/.ddd/vsllib/ddd.vsl"
#  Trying "/usr/local/gnutools/share/ddd-3.3.11/vsllib/ddd.vsl"
#  Searching 
"vsllib/ddd.vsl"..."/usr/local/gnutools/share/ddd-3.3.11/vsllib/ddd.vsl".
2008.10.10 15:41:39
<- "Using host libthread_db library \"/lib64/tls/libthread_db.so.1\".\n"
#  Creating 
"/home/helmle/.ddd/sessions/1021020719c170000122367849800000285940029/"...
#  Creating 
"/home/helmle/.ddd/sessions/1021020719c170000122367849800000285940029/"...done.
#  Copying "/home/helmle/.ddd/init" to 
"/home/helmle/.ddd/sessions/1021020719c170000122367849800000285940029/init"...
#  Copying "/home/helmle/.ddd/init" to 
"/home/helmle/.ddd/sessions/1021020719c170000122367849800000285940029/init"...done.
#  Copying "/home/helmle/.ddd/history" to 
"/home/helmle/.ddd/sessions/1021020719c170000122367849800000285940029/history"...
#  Copying "/home/helmle/.ddd/history" to 
"/home/helmle/.ddd/sessions/1021020719c170000122367849800000285940029/history"...done.
#  Saving session in 
"/home/helmle/.ddd/sessions/1021020719c170000122367849800000285940029/init"...
#  Saving session in 
"/home/helmle/.ddd/sessions/1021020719c170000122367849800000285940029/init"...done.
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "set prompt (gdb) \n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "set height 0\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "set width 0\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "set annotate 1\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> " set verbose off\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "info line\n"
2008.10.10 15:41:39
<- "No line number information available.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "list\n"
2008.10.10 15:41:39
<- "warning: Source file is more recent than executable.\n"
2008.10.10 15:41:39
<- "1\t#include <stdio.h>\n"
   "2\t\n"
   "3\tmain()\n"
   "4\t{\n"
   "5\t    /* Test bogus fopen() mode value. */\n"
   "6\t\n"
   "7\t    FILE *f;\n"
   "8\t    char *fname = \"test_fopen.dat\";\n"
2008.10.10 15:41:39
<- "9\t    printf(\"\\n"
   " file name = %s.\\n"
   "\", fname);\n"
   "10\t\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "info line\n"
2008.10.10 15:41:39
<- "Line 10 of \"test_fopen.c\" is at address 0x40056b <main+35> but contains 
no code.\n"
   "\032\032/home/helmle/Training/Toys/test_fopen.c:10:163:beg:0x40056b\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "output 4711\n"
2008.10.10 15:41:39
<- "4711"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "show language\n"
2008.10.10 15:41:39
<- "The current source language is \"auto; currently c\".\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "show version\n"
2008.10.10 15:41:39
<- "GNU gdb 6.6\n"
   "Copyright (C) 2006 Free Software Foundation, Inc.\n"
   "GDB is free software, covered by the GNU General Public License, and you 
are\n"
   "welcome to change it and/or distribute copies of it under certain 
conditions.\n"
   "Type \"show copying\" to see the conditions.\n"
   "There is absolutely no warranty for GDB.  Type \"show warranty\" for 
details.\n"
   "This GDB was configured as \"x86_64-unknown-linux-gnu\".\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "pwd\n"
2008.10.10 15:41:39
<- "Working directory /home/helmle/Training/Toys.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "info breakpoints\n"
2008.10.10 15:41:39
<- "No breakpoints or watchpoints.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "show history filename\n"
2008.10.10 15:41:39
<- "The filename in which to record the command history is 
\"/home/helmle/Training/Toys/.gdb_history\".\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "show history size\n"
2008.10.10 15:41:39
<- "The size of the command history is 256.\n"
2008.10.10 15:41:39
<- "(gdb) "
#  Reading file "/home/helmle/Training/Toys/test_fopen.c"...
#  Reading file "/home/helmle/Training/Toys/test_fopen.c"...done.
#  File "/home/helmle/Training/Toys/test_fopen.c" 19 lines, 506 characters
#  Setting buttons...
#  Setting buttons...done.
2008.10.10 15:41:39
-> "info source\n"
2008.10.10 15:41:39
<- "Current source file is test_fopen.c\n"
   "Compilation directory is /home/helmle/Training/Toys\n"
   "Located in /home/helmle/Training/Toys/test_fopen.c\n"
   "Contains 19 lines.\n"
   "Source language is c.\n"
   "Compiled with DWARF 2 debugging format.\n"
   "Does not include preprocessor macro info.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "info files\n"
2008.10.10 15:41:39
<- "Symbols from \"/home/helmle/Training/Toys/tfopen\".\n"
   "Local exec file:\n"
   "\t`/home/helmle/Training/Toys/tfopen\', file type elf64-x86-64.\n"
2008.10.10 15:41:39
<- "\tEntry point: 0x400490\n"
   "\t0x0000000000400200 - 0x000000000040021c is .interp\n"
   "\t0x000000000040021c - 0x000000000040023c is .note.ABI-tag\n"
   "\t0x0000000000400240 - 0x0000000000400270 is .hash\n"
   "\t0x0000000000400270 - 0x0000000000400318 is .dynsym\n"
   "\t0x0000000000400318 - 0x0000000000400378 is .dynstr\n"
   "\t0x0000000000400378 - 0x0000000000400386 is .gnu.version\n"
   "\t0x0000000000400388 - 0x00000000004003a8 is .gnu.version_r\n"
   "\t0x00000000004003a8 - 0x00000000004003c0 is .rela.dyn\n"
   "\t0x00000000004003c0 - 0x0000000000400420 is .rela.plt\n"
2008.10.10 15:41:39
<- "\t0x0000000000400420 - 0x0000000000400438 is .init\n"
   "\t0x0000000000400438 - 0x0000000000400488 is .plt\n"
   "\t0x0000000000400490 - 0x0000000000400688 is .text\n"
   "\t0x0000000000400688 - 0x0000000000400696 is .fini\n"
   "\t0x0000000000400698 - 0x00000000004006f0 is .rodata\n"
   "\t0x00000000004006f0 - 0x0000000000400714 is .eh_frame_hdr\n"
   "\t0x0000000000400718 - 0x00000000004007ac is .eh_frame\n"
   "\t0x00000000005007b0 - 0x00000000005007c0 is .ctors\n"
   "\t0x00000000005007c0 - 0x00000000005007d0 is .dtors\n"
   "\t0x00000000005007d0 - 0x00000000005007d8 is .jcr\n"
   "\t0x00000000005007d8 - 0x0000000000500968 is .dynamic\n"
   "\t0x0000000000500968 - 0x0000000000500970 is .got\n"
   "\t0x0000000000500970 - 0x00000000005009a8 is .got.plt\n"
   "\t0x00000000005009a8 - 0x00000000005009c0 is .data\n"
   "\t0x00000000005009c0 - 0x00000000005009c8 is .bss\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "info program\n"
2008.10.10 15:41:39
<- "The program being debugged is not being run.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "set confirm off\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "source /tmp/dddDdCIIs\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "info breakpoints\n"
2008.10.10 15:41:39
<- "No breakpoints or watchpoints.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "# reset\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "info breakpoints\n"
2008.10.10 15:41:39
<- "No breakpoints or watchpoints.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "display\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "info display\n"
2008.10.10 15:41:39
<- "There are no auto-display expressions now.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "set environment TERM dumb\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "info files\n"
2008.10.10 15:41:39
<- "Symbols from \"/home/helmle/Training/Toys/tfopen\".\n"
   "Local exec file:\n"
   "\t`/home/helmle/Training/Toys/tfopen\', file type elf64-x86-64.\n"
   "\tEntry point: 0x400490\n"
   "\t0x0000000000400200 - 0x000000000040021c is .interp\n"
   "\t0x000000000040021c - 0x000000000040023c is .note.ABI-tag\n"
   "\t0x0000000000400240 - 0x0000000000400270 is .hash\n"
   "\t0x0000000000400270 - 0x0000000000400318 is .dynsym\n"
   "\t0x0000000000400318 - 0x0000000000400378 is .dynstr\n"
   "\t0x0000000000400378 - 0x0000000000400386 is .gnu.version\n"
   "\t0x0000000000400388 - 0x00000000004003a8 is .gnu.version_r\n"
   "\t0x00000000004003a8 - 0x00000000004003c0 is .rela.dyn\n"
   "\t0x00000000004003c0 - 0x0000000000400420 is .rela.plt\n"
   "\t0x0000000000400420 - 0x0000000000400438 is .init\n"
   "\t0x0000000000400438 - 0x0000000000400488 is .plt\n"
   "\t0x0000000000400490 - 0x0000000000400688 is .text\n"
   "\t0x0000000000400688 - 0x0000000000400696 is .fini\n"
   "\t0x0000000000400698 - 0x00000000004006f0 is .rodata\n"
   "\t0x00000000004006f0 - 0x0000000000400714 is .eh_frame_hdr\n"
   "\t0x0000000000400718 - 0x00000000004007ac is .eh_frame\n"
   "\t0x00000000005007b0 - 0x00000000005007c0 is .ctors\n"
   "\t0x00000000005007c0 - 0x00000000005007d0 is .dtors\n"
   "\t0x00000000005007d0 - 0x00000000005007d8 is .jcr\n"
   "\t0x00000000005007d8 - 0x0000000000500968 is .dynamic\n"
2008.10.10 15:41:39
<- "\t0x0000000000500968 - 0x0000000000500970 is .got\n"
   "\t0x0000000000500970 - 0x00000000005009a8 is .got.plt\n"
   "\t0x00000000005009a8 - 0x00000000005009c0 is .data\n"
   "\t0x00000000005009c0 - 0x00000000005009c8 is .bss\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "info program\n"
2008.10.10 15:41:39
<- "The program being debugged is not being run.\n"
2008.10.10 15:41:39
<- "(gdb) "
#  Opening session "1021020719c170000122367849800000285940029"...done.
#  Welcome to DDD 3.3.11 "Rhubarb" (x86_64-unknown-linux-gnu)
2008.10.10 15:41:39
-> "help detach\n"
2008.10.10 15:41:39
<- "Detach a process or file previously attached.\n"
   "If a process, it is no longer traced, and it continues its execution.  If\n"
   "you were debugging a file, the file is closed and gdb no longer accesses 
it.\n"
   "\n"
   "List of detach subcommands:\n"
   "\n"
   "detach checkpoint -- Detach from a fork/checkpoint (experimental)\n"
   "\n"
   "Type \"help detach\" followed by detach subcommand name for full 
documentation.\n"
   "Type \"apropos word\" to search for commands related to \"word\".\n"
   "Command name abbreviations are allowed if unambiguous.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "help run\n"
2008.10.10 15:41:39
<- "Start debugged program.  You may specify arguments to give it.\n"
   "Args may include \"*\", or \"[...]\"; they are expanded using \"sh\".\n"
   "Input and output redirection with \">\", \"<\", or \">>\" are also 
allowed.\n"
   "\n"
   "With no arguments, uses arguments last specified (with \"run\" or \"set 
args\").\n"
   "To cancel previous arguments and run with no arguments,\n"
   "use \"set args\" without arguments.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "help step\n"
2008.10.10 15:41:39
<- "Step program until it reaches a different source line.\n"
   "Argument N means do this N times (or till program stops for another 
reason).\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "help stepi\n"
2008.10.10 15:41:39
<- "Step one instruction exactly.\n"
   "Argument N means do this N times (or till program stops for another 
reason).\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "help next\n"
2008.10.10 15:41:39
<- "Step program, proceeding through subroutine calls.\n"
   "Like the \"step\" command as long as subroutine calls do not happen;\n"
   "when they do, the call is treated as one instruction.\n"
   "Argument N means do this N times (or till program stops for another 
reason).\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "help nexti\n"
2008.10.10 15:41:39
<- "Step one instruction, but proceed through subroutine calls.\n"
   "Argument N means do this N times (or till program stops for another 
reason).\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "help until\n"
2008.10.10 15:41:39
<- "Execute until the program reaches a source line greater than the current\n"
   "or a specified location (same args as break command) within the current 
frame.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "help finish\n"
2008.10.10 15:41:39
<- "Execute until selected stack frame returns.\n"
   "Upon return, the value returned is printed and put in the value history.\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:39
-> "help cont\n"
2008.10.10 15:41:39
<- "Continue program being debugged, after signal or breakpoint.\n"
   "If proceeding from breakpoint, a number N may be used as an argument,\n"
   "which means to set the ignore count of that breakpoint to N - 1 (so that\n"
   "the breakpoint won\'t break until the Nth time it is reached).\n"
2008.10.10 15:41:39
<- "(gdb) "
2008.10.10 15:41:40
-> "help signal\n"
2008.10.10 15:41:40
<- "Continue program giving it signal specified by the argument.\n"
   "An argument of \"0\" means continue program without giving it a signal.\n"
2008.10.10 15:41:40
<- "(gdb) "
2008.10.10 15:41:40
-> "help kill\n"
2008.10.10 15:41:40
<- "Kill execution of program being debugged.\n"
2008.10.10 15:41:40
<- "(gdb) "
2008.10.10 15:41:40
-> "help up\n"
2008.10.10 15:41:40
<- "Select and print stack frame that called this one.\n"
   "An argument says how many frames up to go.\n"
2008.10.10 15:41:40
<- "(gdb) "
2008.10.10 15:41:40
-> "help down\n"
2008.10.10 15:41:40
<- "Select and print stack frame called by this one.\n"
   "An argument says how many frames down to go.\n"
2008.10.10 15:41:40
<- "(gdb) "
#  Invoking GDB manual browser...
+  /bin/sh -c 'info --subnodes -o - -f gdb 2> /dev/null || man gdb 2>&1'
#  Invoking GDB manual browser...done.
#  Retrieving Command Definitions...
2008.10.10 15:45:47
-> "help user-defined\n"
2008.10.10 15:45:47
<- "User-defined commands.\n"
   "The commands in this class are those defined by the user.\n"
   "Use the \"define\" command to define a command.\n"
   "\n"
   "List of commands:\n"
   "\n"
   "\n"
   "Type \"help\" followed by command name for full documentation.\n"
   "Type \"apropos word\" to search for commands related to \"word\".\n"
   "Command name abbreviations are allowed if unambiguous.\n"
2008.10.10 15:45:47
<- "(gdb) "
#  Retrieving Command Definitions...done.
2008.10.10 15:45:47
-> "v\n"
2008.10.10 15:45:47
<- "Undefined command: \"v\".  Try \"help\".\n"
2008.10.10 15:45:47
<- "(gdb) "
2008.10.10 15:45:47
-> "info breakpoints\n"
2008.10.10 15:45:47
<- "No breakpoints or watchpoints.\n"
2008.10.10 15:45:47
<- "(gdb) "
2008.10.10 15:45:49
-> "version\n"
2008.10.10 15:45:49
<- "Undefined command: \"version\".  Try \"help\".\n"
2008.10.10 15:45:49
<- "(gdb) "
2008.10.10 15:45:49
-> "info breakpoints\n"
2008.10.10 15:45:49
<- "No breakpoints or watchpoints.\n"
2008.10.10 15:45:49
<- "(gdb) "
2008.10.10 15:45:52
-> "help\n"
2008.10.10 15:45:52
<- "List of classes of commands:\n"
   "\n"
   "aliases -- Aliases of other commands\n"
   "breakpoints -- Making program stop at certain points\n"
   "data -- Examining data\n"
   "files -- Specifying and examining files\n"
   "internals -- Maintenance commands\n"
   "obscure -- Obscure features\n"
   "running -- Running the program\n"
   "stack -- Examining the stack\n"
   "status -- Status inquiries\n"
   "support -- Support facilities\n"
   "tracepoints -- Tracing of program execution without stopping the program\n"
   "user-defined -- User-defined commands\n"
   "\n"
   "Type \"help\" followed by a class name for a list of commands in that 
class.\n"
   "Type \"help all\" for the list of all commands.\n"
   "Type \"help\" followed by command name for full documentation.\n"
   "Type \"apropos word\" to search for commands related to \"word\".\n"
   "Command name abbreviations are allowed if unambiguous.\n"
2008.10.10 15:45:52
<- "(gdb) "
2008.10.10 15:46:08
-> "apropos version\n"
2008.10.10 15:46:08
<- "handle -- Specify how to handle a signal\n"
   "set coerce-float-to-double -- Set coercion of floats to doubles when 
calling functions\n"
   "show coerce-float-to-double -- Show coercion of floats to doubles when 
calling functions\n"
   "show version -- Show what version of GDB this is\n"
2008.10.10 15:46:08
<- "(gdb) "
2008.10.10 15:46:08
-> "info breakpoints\n"
2008.10.10 15:46:08
<- "No breakpoints or watchpoints.\n"
2008.10.10 15:46:08
<- "(gdb) "
2008.10.10 15:46:22
-> "show version\n"
2008.10.10 15:46:22
<- "GNU gdb 6.6\n"
   "Copyright (C) 2006 Free Software Foundation, Inc.\n"
   "GDB is free software, covered by the GNU General Public License, and you 
are\n"
   "welcome to change it and/or distribute copies of it under certain 
conditions.\n"
   "Type \"show copying\" to see the conditions.\n"
   "There is absolutely no warranty for GDB.  Type \"show warranty\" for 
details.\n"
   "This GDB was configured as \"x86_64-unknown-linux-gnu\".\n"
2008.10.10 15:46:22
<- "(gdb) "

reply via email to

[Prev in Thread] Current Thread [Next in Thread]