void print_recreate (struct ui_file *fp) const override;
};
-/* Internal breakpoints. */
+/* Internal breakpoints. These typically have a lifetime the same as
+ the program, and they end up installed on the breakpoint chain with
+ a negative breakpoint number. They're visible in "maint info
+ breakpoints", but not "info breakpoints". */
struct internal_breakpoint : public base_breakpoint
{
internal_breakpoint (struct gdbarch *gdbarch,
void print_mention () const override;
};
-/* Momentary breakpoints. */
+/* Momentary breakpoints. These typically have a lifetime of some run
+ control command only, are always thread-specific, and have 0 for
+ breakpoint number. I.e., there can be many momentary breakpoints
+ on the breakpoint chain and they all same the same number (zero).
+ They're visible in "maint info breakpoints", but not "info
+ breakpoints". */
struct momentary_breakpoint : public base_breakpoint
{
using base_breakpoint::base_breakpoint;
useful for a hack I had to put in; I'm going to leave it in because
I can see how there might be times when it would indeed be useful */
-/* This is for all kinds of breakpoints. */
+/* Abstract base class representing all kinds of breakpoints. */
struct breakpoint
{
void print_recreate_thread (struct ui_file *fp) const;
};
-/* The structure to be inherit by all kinds of breakpoints (real
- breakpoints, i.e., user "break" breakpoints, internal and momentary
- breakpoints, etc.). */
+/* Abstract base class representing code breakpoints. User "break"
+ breakpoints, internal and momentary breakpoints, etc. IOW, any
+ kind of breakpoint whose locations are created from SALs. */
struct base_breakpoint : public breakpoint
{
using breakpoint::breakpoint;
struct program_space *search_pspace) override;
};
-/* An instance of this type is used to represent a watchpoint. */
+/* An instance of this type is used to represent a watchpoint,
+ a.k.a. a data breakpoint. */
struct watchpoint : public breakpoint
{
int static_trace_marker_id_idx = 0;
};
-/* The base class for catchpoints. */
+/* The abstract base class for catchpoints. */
struct catchpoint : public breakpoint
{