Recently I found that STM32CubeMX support Makefile as well as SW4STM32. So far I worked with only the SW4STM32, but now I'm happy to move to the command line development with GCC, GNU make , stlink, and GDB. After spending time fixing minor bugs I could compile a blinky code and flashed my STM32L476 without problem. The blinky program is working as expected.
Now I'm trying to debug the program with GDB. I ran st-util and arm-none-eabi-gdb using my .elf file. Then setting breakpoints and reading the values of variables were successful. But I wonder how to read I/O register values. On the System Workbench for STM32 it's very easy to check the state of the I/O registers. Would it be possible for one to do the same thing on the command line? For example, how can you read the values of GPIOB_MODER, GPIOB_OTYPER, and GPIOB_ODR registers at once?