From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 6mbaG5XiTmgvbQ8AWB0awg (envelope-from ) for ; Sun, 15 Jun 2025 11:11:17 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=yahoo.de header.i=@yahoo.de header.a=rsa-sha256 header.s=s2048 header.b=NsUdNdzq; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 5A9711E102; Sun, 15 Jun 2025 11:11:17 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-9.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 575EA1E089 for ; Sun, 15 Jun 2025 11:11:13 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C18C9380659D for ; Sun, 15 Jun 2025 15:11:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C18C9380659D Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=yahoo.de header.i=@yahoo.de header.a=rsa-sha256 header.s=s2048 header.b=NsUdNdzq Received: from sonic307-54.consmr.mail.ir2.yahoo.com (sonic307-54.consmr.mail.ir2.yahoo.com [87.248.110.31]) by sourceware.org (Postfix) with ESMTPS id CFF2F3813DB9 for ; Sun, 15 Jun 2025 15:10:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CFF2F3813DB9 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=yahoo.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=yahoo.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CFF2F3813DB9 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=87.248.110.31 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1750000241; cv=none; b=V5XU4ea76tVzM6XuBPribCfHMJDHCu1UYf3BNLBf2HPCNQHxMXpL7aAs0brmjCwB5VFgyIf+hGl6sakoJcKrM9WlKUzsL0gIuv1okhOb+o8atSGzQ8d4yPlNSYv1eWq12RVnEdpbNwpHHXYwvve8YPt4gjbqZePMnEI9GrcDspE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1750000241; c=relaxed/simple; bh=gFwNmjuVD6SlMI0t6p02QBL/3mmS4AvCxgPL0TSe0tc=; h=DKIM-Signature:Date:From:To:Message-ID:Subject:MIME-Version; b=SpxsGljCbv5r8rUW2NrIieY8FnL/R/CKWvC2oKfe0c+E5mULr9YuMaccyodML8pSn5oEyrDsjn0l3sTk3VAW9TL9zReGf1Ns70F4ImmE7pMkCu6dqQFxcuhHumYljjtOEgcvAT+twDipL/1bKt6uqEaHMmGS7so3PFssW+RudTU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CFF2F3813DB9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s2048; t=1750000239; bh=gFwNmjuVD6SlMI0t6p02QBL/3mmS4AvCxgPL0TSe0tc=; h=Date:From:To:In-Reply-To:References:Subject:From:Subject:Reply-To; b=NsUdNdzqGEsIErOu72g87V9p0tgimKdes3zrP1xPFCWkrl2Ep348gid5PpbRSuz/ATlxxAgDnTjwyYx15VpfPYcpxhkeiMhXXf2cK7STpzn/rtgy8PZwfNgCP2b+puzKYmS3m1SBfkq1MiQezFJMqJaLD4c8KfWnBnpIw+sXp+HrUeZtoZapXbz0tibmYikhe1ro1kEPUR6he060GOFOoVYxqDfeSUvZZR7eQxAcYVcodHfjqjgvdqtsxBstAp5EK99aApn8FIBlOH9yDmS8521NOd6nT5sck1FcVCe77ziyD2kbVxUmGatT1gycC7+flPLPSuu/iQZrpGyWApvU8g== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1750000239; bh=CVTlDVJ3VYBWV1nQHDkIYCB61EPD0naFoROjMG9D62N=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=mPxCxKKSRaxZ8a8tp+XXVZxl6OcgQ5jR+Sv3tWCuBtWdtnWSw0Hg22hyrwTacf2ej0jM+R24NZIjHzqRzaXsknng8dMVxpsR2Ef5Fw2lpYShAHoAhVSFiXj0+f977keYFx6ANTEDnTDvZ3N3Hhg8JRwLr8iZ+hnNt/4xMr81vNpK6QHPmdFybREd78Z3fJ4T8BAo0vT+aqo3VYoCRwsCW7Bw0BDdL4gvkfwZFD03VpsMb2YPWKjCh2c3mYvbf5QW6nKtM/bwd7uaLLCZ0Frsb9guC/6A+yi/HwRHLZXtUOXhOj9cl0tyZEYe+IB4746V9J1+8shmBgjrz6jW6TtL6A== X-YMail-OSG: FxdBw38VM1nqE4J3AsRiod47vfAJBqxTPMSequ_Sb4Y_Xn1Ns7.G4imaxkHL4.u .8MZLaCrYo3T1i3fLIHj6Mm2NTcJqZSl93lbQcTwdwS5phJSO3sqE.JP.5lsxawFA9GiGr86kJT4 z0PpZElm_StHNloW6pvLE7Fo1p9y5GfJAEGSpw13VMjdzAYHjl4iYlAWfmc6Fm2gw_uox1lB5kqH syYRKZb4S4rrNggN9SBs_0XZnX2kOwKqSaAlGBIdXn7KPKpQIPAr826DVQf7g90Zy4IrTvbqGbvp CYF_NOEUvmWmktOuw2PgPmxRihtNmWJrYhb1n.v7l2.Mud1CZcfYA02GWkMFQZ7eOk_9n.YIKzbO 2TJdzVwTChRmAJ2.bkCZVytkLcsYTbO66oAXWumCGiSvgN7lOv1ATL5vduCWsn_PVCnZLH6crxoI ahPN_OW.Tu.4gGGDjdVSq6.n43VpR2VZYZxSEBZ5KkGXXgIHsEZGt2AriuQmj5S5OkCnQAv1_ubg xxkR7n7c_oJA7nsAk7EaH.1GTGaHaLv4WGmpEFPzY8nlR9RkBH0aiU.A0IgXSiVRELAeU0sCk5kn 3vugQv1lSY_CeMPUfd56EVoUsLtgagz.NrzOWZ2_8Jg59UWURxOfStJpi5ZL77B7BDBu8ips_Mvi 4T2vfn1Br57IW3ad8LvzrP1_PYQDsW.Xnd8zB4dfnUc4mlXudEcM8VLxH8_urlKRn5s4k79WkSrf ToQ4NzDFwDIVKtFFt_jj2F7iNfDqObltAH.hUJOq0tZXtEvoLCFWjsXUgwpkxA0z9LG4iq2PEz5Y TovLBU_ZEXdk26dohZwpCoK8kS3y8iwuBbWcJOIJYbbV6IUbVs1bLkSSq4YnMT8LApvmZqeKbdv5 XxrnCPklowfzMA7wOqOoLRcS1P6pFHNgZKtI4z2XrorWIwJP9mxOsqbb5jUACOoXMZ50Gwds2FFL KlwNq1ZTy0I1VZ4bEg8dBnkIoKaPNnPWh5U7uCM6TN2TosJSouLsY9UbuCpxlRpZeRi0.vCGgjr2 U6FfPjxhnwDvYi9jvQp70lJNTHQGK8xsU.cqRrMIKLl4XkAioGDMJrAFUCrU1ZVvKj7P9Lqs7Z3y GnNIn9AggbK7GKrdSQqgcU7kEyZ5zr1.JJSlOZZb7l7y9R02TBQQ3D5L6Av_iQ2OZBk_nFEcDmg. 4koXFSWmLLZJOfQuOOQ72iJCrIC9Y2F5FiLaDg3FUafDDRPvUbih2xEVjxOu9yljUhZCACY5vKN8 OILx8viHoanEOdTDmdQHTT5PS7HGf7q4e9J0BnCrT3qdupsVWo2Hhy_XNMz2H2v6wp2bzt6fnl2v yftQEShVfM5S12DJO0.5SKLa0YJmN0kgbZmm5b0tVqwrLT.F8lb8ut7nYy_mBkd7wHmvEJbAizxX FK9KdJ4QKOXd6m2W5q1G7rqNGe2xnPCRjOA29YN3wUmoujS1iR0xN.iMVpXle_1obJkHcgL_xYbF FhMvZW7f_41y33x4mwmpQtzZDiozgBEUVeYTrRJ.Zihr9Bsc8nf8S_73ldsFPWcNDpoUUs3Ak3pH Lfg8IETRIFRnOa91Tbwx250a3koo0jznbKzsOiuE5xS17opoFwDePbeG4sKc2A7YmRqUcth2x1fQ DnjlOJOc_bUENiTRIgGdphgBObez0NGupB31oGuF_Zz4gqEM_jnKG5PQvVNl4xHJfFjx9j5gcmx9 jcFIhVsLCDw51pMSX0NcZPsKnheiZHOKeEwgdwq01.rKcvY07EcLU74GyHAmfrVUGDArQvgwkK6v Uweso9VqMT0hzsspgdNpAaSTCBqDeU8AGrdkEV4MyFhvypbfLWMLDfJV0hcivGNy7.Z6ouS36LZE IBjRCXljmYgjK9xjkfntnJ_kEDxCC4daBz2KvKxTJliJiZG9ivGyeIWKkSNwuFwKwZbf1a3K9pzA 50ORUFccXiLt8bmFep.oz1_z_tOd.RwMJQjMnTK7ViAZmq2rrW.peIDCilpyjl0o33ery2SUKrSj ApU0vPnkqrD8NQzGbFqUD30Bl1fqIKkEgQs5iJm49b8mf9Wu2rWBV.qQKQg__WYwKlVGOYwfnPD2 y_d.UWu35w4z67yiiaPA8Z4J.kJ0ePqDQbuWM9EP6Ouebhiz.6yWqYAH_WPTPHiah3IeJSVaF6ve wswgpN7fp4vKDl6ECRUhNBUrmhz_8bOqPmopDx_vjTLfwRgVZFLnft3VkGTO5N9xmlyXcu2GJc0k ZWA90zPidcdg- X-Sonic-MF: X-Sonic-ID: 70a47a52-b7e7-421e-947f-7ea30e312901 Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ir2.yahoo.com with HTTP; Sun, 15 Jun 2025 15:10:39 +0000 Date: Sun, 15 Jun 2025 15:10:37 +0000 (UTC) From: Hannes Domani To: Simon Marchi via Gdb-patches Message-ID: <631314501.1116721.1750000237666@mail.yahoo.com> In-Reply-To: <1549974991.1116105.1750000125453@mail.yahoo.com> References: <1549974991.1116105.1750000125453.ref@mail.yahoo.com> <1549974991.1116105.1750000125453@mail.yahoo.com> Subject: Fw: [PATCH] Improve attach on Windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.24021 YMailNorrin X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Now forwarded to gdb-patches as well. ----- Weitergeleitete Nachricht ----- Von: Hannes Domani An: Pedro Alves Gesendet: Sonntag, 15. Juni 2025 um 17:08:45 MESZ Betreff: Re: [PATCH] Improve attach on Windows Am Mittwoch, 11. Juni 2025 um 23:05:23 MESZ hat Pedro Alves Folgendes geschrieben: > Unlike most targets, on Windows, when you attach, GDB doesn't print > the current stack frame.=C2=A0 Vis: > > On GNU/Linux: > > attach 3340347 > Attaching to program: /home/pedro/gdb/build/gdb/testsuite/outputs/gdb.bas= e/attach/attach, process 3340347 > Reading symbols from /lib/x86_64-linux-gnu/libc.so.6... > Reading symbols from /usr/lib/debug/.build-id/d5/197096f709801829b118af1b= 7cf6631efa2dcd.debug... > Reading symbols from /lib64/ld-linux-x86-64.so.2... > Reading symbols from /usr/lib/debug/.build-id/9c/b53985768bb99f138f48655f= 7b8bf7e420d13d.debug... > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1"= . > 0x00005b3bf29be174 in main () at /home/pedro/gdb/build/gdb/testsuite/../.= ./../src/gdb/testsuite/gdb.base/attach.c:19 > 19=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 while (! should_exit) > (gdb) PASS: gdb.base/attach.exp: do_attach_tests: attach1, after setting = file > > On Cygwin: > > (gdb) attach 6692 > Attaching to program: /home/alves/gdb/build-cygwin-testsuite/outputs/gdb.= base/attach/attach, process 6692 > [New Thread 6692.0x2e60] > [New Thread 6692.0x2e9c] > [New Thread 6692.0xd6c] > [New Thread 6692.0x137c] > [New Thread 6692.0x1270] > (gdb) FAIL: gdb.base/attach.exp: do_attach_tests: attach1, after setting = file > > On Linux, GDB prints the frame because after the target_attach, GDB > goes back to the event loop, to wait for an initial stop event.=C2=A0 The > stop event arrives, and we process it, which sets the stop_print_frame > global, and then we get to normal_stop, which prints the frame iff > stop_print_frame is set, which it is. > > Windows OTOH, is a target_attach_no_wait target, so after > target_attach, there is no going back to event loop.=C2=A0 In > infcmd.c:attach_command, we go straight to attach_post_wait which > takes us to normal_stop.=C2=A0 But this time, nothing set > stop_print_frame to true, so no frame is printed.=C2=A0 Actually, if the > global happened to be true due to an earlier event from debugging a > previous inferior, then we will print the frame. > > This patch makes GDB's behavior consistent, by making sure the globals > normal_stop looks at are in a good state in the target_attach_no_wait > path. > > With that alone, GDB now prints the frame: > > (gdb) attach 2915 > Attaching to program: /usr/bin/sleep.exe, process 2832 > [New Thread 2832.0x2a68] > [New Thread 2832.0xb1c] > [New Thread 2832.0x8ac] > [Switching to Thread 2832.0x8ac] > 0x00007ffec51d4a71 in ntdll!DbgBreakPoint () from C:/Windows/SYSTEM32/ntd= ll.dll > > This is still not ideal, IMHO, as the current thread is the thread > that Windows injects to attach: > > (gdb) info threads >=C2=A0=C2=A0 Id=C2=A0 Target Id=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Frame >=C2=A0=C2=A0 1=C2=A0=C2=A0=C2=A0 Thread 2832.0x2100 "sleep" 0x00007ffec51d= 18d7 in ntdll!ZwWaitForMultipleObjects () from C:/Windows/SYSTEM32/ntdll.dl= l >=C2=A0=C2=A0 2=C2=A0=C2=A0=C2=A0 Thread 2832.0x2a68 "sig"=C2=A0 0x00007ffe= c51d0e47 in ntdll!ZwReadFile () from C:/Windows/SYSTEM32/ntdll.dll >=C2=A0=C2=A0 3=C2=A0=C2=A0=C2=A0 Thread 2832.0xb1c=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0x00007ffec51d49d7 in ntdll!ZwWaitForWorkVia= WorkerFactory () from C:/Windows/SYSTEM32/ntdll.dll > * 4=C2=A0=C2=A0=C2=A0 Thread 2832.0x8ac=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 0x00007ffec51d4a71 in ntdll!DbgBreakPoint () from C:/= Windows/SYSTEM32/ntdll.dll > > Automatically switching to main thread is IMHO more useful.=C2=A0 That > results in very similar output than what we see on Linux: > > attach 5164 > Attaching to program: /home/alves/gdb/build-cygwin-testsuite/outputs/gdb.= base/attach/attach, process 5164 > [New Thread 5164.0x87c] > [New Thread 5164.0x28f0] > [New Thread 5164.0x376c] > [New Thread 5164.0x2db4] > [New Thread 5164.0xce4] > main () at /home/alves/gdb/src/gdb/testsuite/gdb.base/attach.c:19 > 19=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 while (! should_exit) > (gdb) I wonder if we should do something similar when Ctrl-C is hit. Regards Hannes