Bug 18183 - saving and restoring breakpoints -vs- pending
Summary: saving and restoring breakpoints -vs- pending
Status: RESOLVED FIXED
Alias: None
Product: gdb
Classification: Unclassified
Component: breakpoints (show other bugs)
Version: HEAD
: P2 normal
Target Milestone: 18.1
Assignee: Tom Tromey
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-30 20:31 UTC by Tom Tromey
Modified: 2026-02-19 00:49 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Last reconfirmed:
Project(s) to access:
ssh public key:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Tromey 2015-03-30 20:31:14 UTC
I saved my breakpoints to a file, then in a new session,
"source"d the file to recreate them.
However, they weren't recreated, because I had neglected to
"set breakpoint pending on":

(gdb) source /tmp/B
Function "nsDOMWindowUtils::SendMouseEventCommon" not defined.
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]
No source file named EventBinding.cpp.
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]


One way around this would be to arrange for this to be handled explicitly in the
saved script.
Comment 1 Tom Tromey 2018-04-12 20:05:15 UTC
Maybe a "-pending" flag could be added to the "break" command for this.
Comment 2 Tom Tromey 2023-01-21 21:47:41 UTC
The 'save' command could now emit:

with breakpoint pending on -- break ...
Comment 3 Tom Tromey 2023-01-23 22:52:48 UTC
I have a patch now.
Comment 4 Sourceware Commits 2026-02-19 00:46:28 UTC
The master branch has been updated by Tom Tromey <tromey@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2d06834a961f42671c72a409aaff278ea58d6e5c

commit 2d06834a961f42671c72a409aaff278ea58d6e5c
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jan 22 21:43:59 2023 -0700

    Save breakpoints so they are automatically pending
    
    PR breakpoints/18183 points out that breakpoints saved with the "save
    breakpoints" command can be slightly inconvenient, depending on "set
    breakpoint pending".
    
    This patch makes use of the new "with" command to save breakpoints
    such that they will automatically be made pending, if necessary, when
    being restored.
    
    Unfortunately, reloading a breakpoint saved this way will also print:
    
        No symbol table is loaded.  Use the "file" command.
    
    This seems strange to me, and also a bit useless, but changing
    create_breakpoint not to call exception_print in the AUTO_BOOLEAN_TRUE
    case caused other regressions, so I've left it as-is for the time
    being.
    
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=18183
    Reviewed-By: Keith Seitz <keiths@redhat.com>
Comment 5 Tom Tromey 2026-02-19 00:49:03 UTC
Fixed.