epasveer / seer

Seer - a gui frontend to gdb
GNU General Public License v3.0
2.13k stars 69 forks source link

Debug Dialog - Add 'Break in function' and 'Break at address' #75

Closed epasveer closed 2 years ago

epasveer commented 2 years ago

When starting a program, 'Break in main()' works when the app is a C/C++/etc type program.

It doesn't work if the program is a pure assembly program or, perhaps, other types of embedded programs.

Add these as other choices to the Debug menu:

"Break in function [............]"
"Break at address  [............]"

image

Will need options on the command line to do the same.

Perhaps a default for 'function' and 'address' can be added to the Seer/Gdb config page.

And, probably need a setting to turn on/off the starting address.

set disable-randomization on
set disable-randomization off
show disable-randomization
epasveer commented 2 years ago

Fixed. Added to the "Open Debug" dialog.

opendialog

And to command line options.

erniep@gracie:~/Development/Peak/src/seer/tests/helloworld$ seer -h
Usage: seer [options] executable [arguments ...]

Seer - A gui frontend for gdb.

Options:
  -h, --help                                 Displays help on commandline
                                             options.
  --help-all                                 Displays help including Qt
                                             specific options.
  -v, --version                              Displays version information.
  -r, --run                                  Load the executable and run it.
  -s, --start                                Load the executable, break in
                                             "main", and run it.
  --bl, --break-load <filename>              Load a previously saved
                                             breakpoints file. For --run or
                                             --start
  --bf, --break-function <function>          Set a breakpoint in a
                                             function/address. For --run or
                                             --start
  --sat, --show-assembly-tab <yes|no>        Show the Assembly Tab on Seer
                                             startup. For --run or --start
  --sar, --start-address-randomize <yes|no>  Randomize the program's starting
                                             address. For --run or --start
  --attach <pid>                             Attach to a locally running
                                             process.
  --connect <medium>                         Connect to a running process with
                                             gdbserver (local or remote).
                                             Manually start gdbserver first.
                                             Possible connection mediums are:
                                                host:port
                                                /dev/<serialdev>
  --core <corefile>                          Load a corefile.
  --config                                   Launch with config dialog.
                                             Save settings with:
                                                'Settings->Save Configuration'

Arguments:
  executable                                 The executable to debug. Needed
                                             for all run modes.
  arguments                                  Arguments for the executable.
                                             Needed for --run and --start.