From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1946 invoked by alias); 11 May 2011 06:06:26 -0000 Received: (qmail 1920 invoked by uid 22791); 11 May 2011 06:06:20 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-qw0-f41.google.com (HELO mail-qw0-f41.google.com) (209.85.216.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 11 May 2011 06:06:05 +0000 Received: by qwa26 with SMTP id 26so113556qwa.0 for ; Tue, 10 May 2011 23:06:05 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.33.137 with SMTP id h9mr4024312qcd.255.1305093965095; Tue, 10 May 2011 23:06:05 -0700 (PDT) Received: by 10.229.135.145 with HTTP; Tue, 10 May 2011 23:06:05 -0700 (PDT) In-Reply-To: <201105101936.55707.pedro@codesourcery.com> References: <201105101936.55707.pedro@codesourcery.com> Date: Wed, 11 May 2011 06:06:00 -0000 Message-ID: Subject: Re: Stepping of multithreaded application From: Tomas Martinec To: gdb@sourceware.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2011-05/txt/msg00037.txt.bz2 > Can you paste the relevant logs again, but with "set debug infrun 1" > enabled in addition to "set debug remote 1" ? It's probably possible to > infer what's going on from the remote log alone, but the infrun > log should make it easier. Here is the log with the infrun debug. I cannot see much from it on the first sight. -exec-next --thread 3 1 &"Sending packet: $Hg3#e2..." &"Ack\n" &"Packet received: OK\n" &"Sending packet: $g#67..." &"Ack\n" &"Packet received: 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000010000020000000= 0000080d8060080000000004c03008004004000000000000000000000000000000000005426= 0080\n" &"infrun: clear_proceed_status_thread (Thread 3)\n" &"infrun: clear_proceed_status_thread (Thread 2)\n" &"infrun: clear_proceed_status_thread (Thread 1)\n" &"infrun: proceed (addr=3D0xffffffff, signal=3D144, step=3D1)\n" &"Sending packet: $Hg1#e0..." &"Ack\n" &"Packet received: OK\n" &"Sending packet: $g#67..." &"Ack\n" &"Packet received: 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000010000000000000= 0000080d8040080d80400803803008004004000000000000000000000000000000000004025= 0080\n" &"Sending packet: $g#67..." &"Ack\n" &"Packet received: 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000010000000000000= 0000080d8040080d80400803803008004004000000000000000000000000000000000004025= 0080\n" &"infrun: resume (step=3D1, signal=3D0), trap_expected=3D1\n" &"Sending packet: $Hc1#dc..." &"Ack\n" &"Packet received: OK\n" &"Sending packet: $s#73..." &"Ack\n" ^running *running,thread-id=3D"1" (gdb) &"infrun: wait_for_inferior (treat_exec_as_sigtrap=3D0)\n" &"Packet received: T05thread:00000001;25:44250080;\n" &"infrun: target_wait (-1, status) =3D\ninfrun: 42000 [Thread 1],\ninfrun: status->kind =3D stopped, signal =3D SIGTRAP\n" &"infrun: infwait_normal_state\n" &"infrun: TARGET_WAITKIND_STOPPED\n" &"infrun: stop_pc =3D 0x80002544\n" &"infrun: handling deferred step\n" &"Sending packet: $Hg3#e2..." &"Ack\n" &"Packet received: OK\n" &"Sending packet: $g#67..." &"Ack\n" &"Packet received: 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000010000020000000= 0000080d8060080000000004c03008004004000000000000000000000000000000000005826= 0080\n" &"infrun: resume (step=3D1, signal=3D0), trap_expected=3D0\n" &"Sending packet: $Hc0#db..." &"Ack\n" &"Packet received: \n" &"Sending packet: $s#73..." &"Ack\n" *running,thread-id=3D"all" &"infrun: prepare_to_wait\n" &"Packet received: T05thread:00000001;25:48250080;\n" &"infrun: target_wait (-1, status) =3D\ninfrun: 42000 [Thread 1],\ninfrun: status->kind =3D stopped, signal =3D SIGTRAP\n" &"infrun: infwait_normal_state\n" &"infrun: TARGET_WAITKIND_STOPPED\n" &"infrun: stop_pc =3D 0x80002548\n" &"infrun: context switch\n" &"infrun: Switching context from Thread 3 to Thread 1\n" &"Sending packet: $g#67..." &"Ack\n" &"Packet received: 000000000000000000000080000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000010000000000000= 0000080d8040080d80400804c25008004004000000000000000000000000000000000004825= 0080\n" &"Sending packet: $T3#87..." &"Ack\n" &"Packet received: OK\n" &"infrun: switching back to stepped thread\n" &"infrun: Switching context from Thread 1 to Thread 3\n" &"Sending packet: $Hg3#e2..." &"Ack\n" &"Packet received: OK\n" &"Sending packet: $g#67..." &"Ack\n" &"Packet received: 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000010000020000000= 0000080d8060080d80600804c03008004004000000000000000000000000000000000005c26= 0080\n" &"Sending packet: $Hg1#e0..." &"Ack\n" &"Packet received: OK\n" &"Sending packet: $g#67..." &"Ack\n" &"Packet received: 000000000000000000000080000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000010000000000000= 0000080d8040080d80400804c25008004004000000000000000000000000000000000004825= 0080\n" &"Sending packet: $Z0,80002540,4#a9..." &"Ack\n" &"Packet received: OK\n" &"Sending packet: $Hg3#e2..." &"Ack\n" &"Packet received: OK\n" &"Sending packet: $g#67..." &"Ack\n" &"Packet received: 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000010000020000000= 0000080d8060080d80600804c03008004004000000000000000000000000000000000005c26= 0080\n" &"infrun: resume (step=3D1, signal=3D0), trap_expected=3D0\n" &"Sending packet: $s#73..." &"Ack\n" &"infrun: prepare_to_wait\n" &"Packet received: T05thread:00000001;25:54430080;\n" &"infrun: target_wait (-1, status) =3D\ninfrun: 42000 [Thread 1],\ninfrun: status->kind =3D stopped, signal =3D SIGTRAP\n" &"infrun: infwait_normal_state\n" &"infrun: TARGET_WAITKIND_STOPPED\n" &"infrun: stop_pc =3D 0x80004354\n" &"infrun: context switch\n" &"infrun: Switching context from Thread 3 to Thread 1\n" &"Sending packet: $g#67..." &"Ack\n" &"Packet received: 00000000000000000000008000000000ec43008000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000010000000000000= 0000080d8040080d80400804c25008004004000000000000000000000000000000000005443= 0080\n" &"infrun: random signal 5\n" &"infrun: stop_stepping\n" ~"[Switching to Thread 1]\n" &"Sending packet: $z0,80002540,4#c9..." &"Ack\n" &"Packet received: OK\n" &"Sending packet: $m800004c0,40#bc..." &"Ack\n" &"Packet received: 000000000000000000000000000000000000000000000000000000000000000000000000000= 00000000000000000000000000000000000000000000038030080\n" *stopped,reason=3D"signal-received",signal-name=3D"SIGTRAP",signal-meaning= =3D"Trace/breakpoint trap",frame=3D{addr=3D"0x80004354",func=3D"print",args=3D[{name=3D"text",va= lue=3D"0x0"}],file=3D"drivers/printer.c",fullname=3D"/home/tomas/runtime-Ec= lipseApplication/kalisto/kernel/drivers/printer.c",line=3D"27"},thread-id= =3D"1",stopped-threads=3D"all" =3Dthread-selected,id=3D"1" (gdb) Tomas