This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/13565] New: The 'stop' has no 'thread-id' in async recordunder MI.


http://sourceware.org/bugzilla/show_bug.cgi?id=13565

             Bug #: 13565
           Summary: The 'stop' has no 'thread-id' in async record under
                    MI.
           Product: gdb
           Version: 7.2
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gdb
        AssignedTo: unassigned@sourceware.org
        ReportedBy: luojx8810@126.com
    Classification: Unclassified


1. Overview:
The 'call' command hit a breakpoint inside the function be called under GDB/MI,
then continue, the 'stop' has no 'thread-id' in async record when the function
finally is done executing.

2. Step to Reproduce:
1) Start gdb and debug a program under MI.
The source code of "test.c" is as follow:
#include <stdio.h>
void func()
{
    printf("test function.\n");
}
int main()
{
    printf("test.\n");
    return 0;
}

2) The steps of debug is as follow:
(gdb)
list 0
&"list 0\n"
~"1\t#include <stdio.h>\n" 
~"2\tvoid func()\n"
~"3\t{\n"
~"4\t\tprintf(\"test function.\\n\");\n"
~"5\t}\n"
~"6\tint main()\n"
~"7\t{\n"
~"8\t\tprintf(\"test.\\n\");\n"
~"9\t\treturn 0; \n"
~"10\t}\n"
~"11\t\n"
^done
(gdb)
break main
&"break main\n"
~"Breakpoint 1 at 0x804837c: file test.c, line 8.\n"
^done
(gdb)
break func\n
&"break func\n"
~"Breakpoing 2 at 0x8048352: file test.c, line 4.\n"
^done
(gdb)
run
&"run\n"
~"Starting program: /home/huawei/test/test \n"
=thread-group-started,id="i1",pid="23621"
=thread-created,id="1",group-id="i1"
^running
*running,thread-id="all"
(gdb)
=library-loaded,id="/lib/ld-linux.so.2",target-name="/lib/ld-linux.so.2",host-name="/lib/ld-linux.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib/tls/i686/cmov/libc.so.6",target-name="/lib/tls/i686/cmov/libc.so.6",host-name="/lib/tls/i686/cmov/libc.so.6",symbols-loaded="0",thread-group="i1"
~"\nBreakpoint "
~"1, main () at test.c:8\n"
~8\t\tprintf(\"test.\\n\");\n"
*stopped,frame={addr="0x0804837c",func="main",args=[],file="test.c",fullname="/home/huawei/test/test.c",line="8"},thread-id="1",stopped-threads="all",core="0"
(gdb)
call func()
&"call func()\n"
~"\nBreakpoint "
~"2, func () at test.c:4\n"
~"4\t\tprintf(\"test function.\\n\");\n"
&"The program being debugged stopped while in a function called from GDB.\n"
&"Evaluation of the expression containing the function\nâ
&"(func) will be abandoned.\n"
&"When the function is done executing, GDB will silently stop.\n"
^error,msg="The progam being debugged stopped while in a function called from
GDB.\nEvaluation of the expression containing the function\n(func) will be
abandoned.\nWhen the function is done executing, GDB will silently stop.\n"
(gdb)
continue
&"continue\n"
~"Continuing.\n"
^running
*running,thread-id="1"
(gdb)
test function.
*stopped
(gdb)
Frame
&"frame\n"
~"#0 main () at test.c:8\n"
~"8\t\tprintf(\"test.\\n\");\n"
^done
(gdb)

3. Actual Results
The 'stop' has no 'thread-id' in async record (*stopped).

4. Expected Results:
The 'stop' should has async record contains frame, thread-id, stopped-threads,
and so on, like this:
"*stopped,frame={addr="0x0804837c",func="main",args=[],file="test.c",fullname="/home/huawei/test/test.c",line="8"},thread-id="1",stopped-threads="all",core="0"".

5. Build Date & Platform:
Date: 2011-12-31
OS: hardy
Kernel: Linux huawei-desktop 2.6.24-26-generic

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]