run: add --terminal and explain gem5 pdb

This commit is contained in:
Ciro Santilli
2018-08-31 19:00:32 +01:00
parent e3a09ba232
commit efa2e4c29f
2 changed files with 33 additions and 1 deletions

View File

@@ -6982,6 +6982,30 @@ In graphic mode, make sure that you never click inside the QEMU graphic while de
You can still send key presses to QEMU however even without the mouse capture, just either click on the title bar, or alt tab to give it focus.
==== Debug gem5 Python scripts
Start pdb at the first instruction:
....
./run -g -G='--pdb' --terminal
....
Requires `--terminal` as we must be on foreground.
Alternatively, you can add to the point of the code where you want to break the usual:
....
import ipdb; ipdb.set_trace()
....
and then run with:
....
./run -g --terminal
....
TODO test PyCharm: https://stackoverflow.com/questions/51982735/writing-gem5-configuration-scripts-with-pycharm
=== Tracing
QEMU can log several different events.

10
run
View File

@@ -123,6 +123,14 @@ rare and don't affect performance, because `./configure
`pr_manager_run`, and I don't know how to get rid of them.
"""
)
init_group.add_argument(
'--terminal', default=False, action='store_true',
help='''Output to the terminal, don't pipe to tee as the default.
Does not save the output to a file, but allows you to use debuggers.
Set automatically by --debug-vm, but you still need this option to debug
gem5 Python scripts.
'''
)
parser.add_argument(
'-U', '--tmux-args', default='',
help='Pass extra parameters to the program running on the `-u` tmux split'
@@ -374,7 +382,7 @@ if args.tmux:
])
cmd += extra_emulator_args
if debug_vm:
if debug_vm or args.terminal:
out_file = None
else:
out_file = common.termout_file