RE: can't 'continue' after 'next' in breakpoint's commands/end block
"Aktemur, Tankut Baris via Gdb" <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <SN6PR11MB2893333A71B9758EA67AE802C4349@SN6PR11MB2893.namprd11.prod.outlook.com> |
On Thursday, June 10, 2021 6:45 PM, Andrey Butirsky wrote: > Hello, I'm trying to debug KWin window manager, > to not halt the session it can't be paused so I created such script to > trace function calls: > > $ cat ~/kde/gdb-x > set pagination off > > break KGlobalAccelImpl::x11KeyPress(xcb_key_press_event_t*) > break TabBox::keyPress(int ) > break /home/bam/kde/src/kde/workspace/kwin/src/tabbox/tabbox.cpp:555 > > commands 1-20 > # FIXME: for some reason KWin halts on any stepping command here, ideas? > #next > continue > end > > continue & > > I'm attaching to a KWin process such way: > > gdb attach $(pidof kwin_wayland) -x ~/kde/gdb-x > > The problem is I can't insert next/step and such commands in the > breakpoint's 'commands' block - the process halts just after the 'next' > there despite the presence of 'continue' command afterward. > > So I need to switch to another VT and kill gdb process to bring my > session back. > > I'm not quite understand why it happens and what I can do with it. Any > ideas? Hi, GDB stops executing the breakpoint commands if a command modifies the stopped thread's PC. The "next" command hence causes the execution of the commands to be truncated. https://sourceware.org/gdb/current/onlinedocs/gdb/Break-Commands.html#Break-Commands "Any other commands in the command list, after a command that resumes execution, are ignored. This is because any time you resume execution (even with a simple next or step), you may encounter another breakpoint—which could have its own command list, leading to ambiguities about which list to execute." Instead of "next", could you define another breakpoint at the next line and define breakpoint commands for that new BP as well? -Baris Intel Deutschland GmbH Registered Address: Am Campeon 10, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de> Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928